lamindb 1.9.1__py3-none-any.whl → 1.10.1__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/__init__.py +1 -1
- lamindb/core/__init__.py +2 -2
- lamindb/core/storage/__init__.py +2 -1
- lamindb/core/storage/_anndata_accessor.py +16 -1
- lamindb/core/storage/_backed_access.py +4 -0
- lamindb/core/storage/_spatialdata_accessor.py +52 -0
- lamindb/examples/__init__.py +3 -18
- lamindb/examples/cellxgene/_cellxgene.py +11 -3
- lamindb/examples/croissant/__init__.py +44 -0
- lamindb/examples/croissant/mini_immuno.anndata.zarr_metadata.json +73 -0
- lamindb/{core → examples}/datasets/__init__.py +5 -2
- lamindb/{core → examples}/datasets/_core.py +33 -1
- lamindb/{core → examples}/datasets/mini_immuno.py +19 -8
- lamindb/examples/schemas/_anndata.py +26 -16
- lamindb/examples/schemas/_simple.py +24 -10
- lamindb/integrations/__init__.py +2 -0
- lamindb/integrations/_croissant.py +122 -0
- lamindb/integrations/_vitessce.py +14 -12
- lamindb/migrations/0116_remove_artifact_unique_artifact_storage_key_hash_and_more.py +51 -0
- lamindb/migrations/0117_fix_artifact_storage_hash_unique_constraints.py +32 -0
- lamindb/migrations/{0115_squashed.py → 0117_squashed.py} +29 -6
- lamindb/models/_describe.py +107 -1
- lamindb/models/_django.py +63 -6
- lamindb/models/_feature_manager.py +0 -1
- lamindb/models/artifact.py +41 -11
- lamindb/models/collection.py +4 -9
- lamindb/models/project.py +2 -2
- lamindb/models/record.py +1 -1
- lamindb/models/run.py +1 -1
- lamindb/models/sqlrecord.py +3 -0
- {lamindb-1.9.1.dist-info → lamindb-1.10.1.dist-info}/METADATA +4 -4
- {lamindb-1.9.1.dist-info → lamindb-1.10.1.dist-info}/RECORD +36 -30
- /lamindb/{core → examples}/datasets/_fake.py +0 -0
- /lamindb/{core → examples}/datasets/_small.py +0 -0
- {lamindb-1.9.1.dist-info → lamindb-1.10.1.dist-info}/LICENSE +0 -0
- {lamindb-1.9.1.dist-info → lamindb-1.10.1.dist-info}/WHEEL +0 -0
lamindb/models/artifact.py
CHANGED
@@ -67,7 +67,7 @@ from ..errors import IntegrityError, InvalidArgument, ValidationError
|
|
67
67
|
from ..models._is_versioned import (
|
68
68
|
create_uid,
|
69
69
|
)
|
70
|
-
from ._django import get_artifact_with_related
|
70
|
+
from ._django import get_artifact_with_related, get_collection_with_related
|
71
71
|
from ._feature_manager import (
|
72
72
|
FeatureManager,
|
73
73
|
filter_base,
|
@@ -117,7 +117,11 @@ if TYPE_CHECKING:
|
|
117
117
|
from tiledbsoma import Measurement as SOMAMeasurement
|
118
118
|
|
119
119
|
from lamindb.base.types import StrField
|
120
|
-
from lamindb.core.storage._backed_access import
|
120
|
+
from lamindb.core.storage._backed_access import (
|
121
|
+
AnnDataAccessor,
|
122
|
+
BackedAccessor,
|
123
|
+
SpatialDataAccessor,
|
124
|
+
)
|
121
125
|
from lamindb.core.types import ScverseDataStructures
|
122
126
|
|
123
127
|
from ..base.types import (
|
@@ -709,7 +713,11 @@ def save_schema_links(self: Artifact) -> None:
|
|
709
713
|
|
710
714
|
|
711
715
|
def _describe_postgres(self): # for Artifact & Collection
|
712
|
-
from ._describe import
|
716
|
+
from ._describe import (
|
717
|
+
describe_artifact_general,
|
718
|
+
describe_collection_general,
|
719
|
+
describe_header,
|
720
|
+
)
|
713
721
|
from ._feature_manager import describe_features
|
714
722
|
|
715
723
|
model_name = self.__class__.__name__
|
@@ -737,13 +745,23 @@ def _describe_postgres(self): # for Artifact & Collection
|
|
737
745
|
related_data=related_data,
|
738
746
|
with_labels=True,
|
739
747
|
)
|
748
|
+
elif model_name == "Collection":
|
749
|
+
result = get_collection_with_related(self, include_fk=True)
|
750
|
+
tree = describe_collection_general(
|
751
|
+
self, foreign_key_data=related_data.get("fk", {})
|
752
|
+
)
|
753
|
+
return tree
|
740
754
|
else:
|
741
755
|
tree = describe_header(self)
|
742
756
|
return tree
|
743
757
|
|
744
758
|
|
745
759
|
def _describe_sqlite(self, print_types: bool = False): # for artifact & collection
|
746
|
-
from ._describe import
|
760
|
+
from ._describe import (
|
761
|
+
describe_artifact_general,
|
762
|
+
describe_collection_general,
|
763
|
+
describe_header,
|
764
|
+
)
|
747
765
|
from ._feature_manager import describe_features
|
748
766
|
from .collection import Collection
|
749
767
|
|
@@ -786,6 +804,9 @@ def _describe_sqlite(self, print_types: bool = False): # for artifact & collect
|
|
786
804
|
tree=tree,
|
787
805
|
with_labels=True,
|
788
806
|
)
|
807
|
+
elif model_name == "Collection":
|
808
|
+
tree = describe_collection_general(self)
|
809
|
+
return tree
|
789
810
|
else:
|
790
811
|
tree = describe_header(self)
|
791
812
|
return tree
|
@@ -983,7 +1004,7 @@ class Artifact(SQLRecord, IsVersioned, TracksRun, TracksUpdates):
|
|
983
1004
|
|
984
1005
|
Args:
|
985
1006
|
data: `UPathStr` A path to a local or remote folder or file.
|
986
|
-
kind: `Literal["dataset", "model"] | None = None` Distinguish models from datasets from other files & folders.
|
1007
|
+
kind: `Literal["dataset", "model"] | str | None = None` Distinguish models from datasets from other files & folders.
|
987
1008
|
key: `str | None = None` A path-like key to reference artifact in default storage, e.g., `"myfolder/myfile.fcs"`. Artifacts with the same key form a version family.
|
988
1009
|
description: `str | None = None` A description.
|
989
1010
|
revises: `Artifact | None = None` Previous version of the artifact. Is an alternative way to passing `key` to trigger a new version.
|
@@ -1095,11 +1116,19 @@ class Artifact(SQLRecord, IsVersioned, TracksRun, TracksUpdates):
|
|
1095
1116
|
# folders
|
1096
1117
|
# the conditional composite constraint allows duplicating files in different parts of the
|
1097
1118
|
# file hierarchy, but errors if the same file is to be registered with the same key
|
1098
|
-
#
|
1119
|
+
# In SQL, NULL values are treated specially in unique constraints.
|
1120
|
+
# Multiple NULL values are not considered equal to each other for uniqueness purposes.
|
1121
|
+
# For non-NULL keys
|
1099
1122
|
models.UniqueConstraint(
|
1100
1123
|
fields=["storage", "key", "hash"],
|
1101
|
-
|
1102
|
-
|
1124
|
+
condition=models.Q(key__isnull=False),
|
1125
|
+
name="unique_artifact_storage_key_hash_not_null",
|
1126
|
+
),
|
1127
|
+
# For NULL keys (only storage + hash need to be unique)
|
1128
|
+
models.UniqueConstraint(
|
1129
|
+
fields=["storage", "hash"],
|
1130
|
+
condition=models.Q(key__isnull=True),
|
1131
|
+
name="unique_artifact_storage_hash_null_key",
|
1103
1132
|
),
|
1104
1133
|
]
|
1105
1134
|
|
@@ -1209,12 +1238,12 @@ class Artifact(SQLRecord, IsVersioned, TracksRun, TracksUpdates):
|
|
1209
1238
|
|
1210
1239
|
This is either a file suffix (`".csv"`, `".h5ad"`, etc.) or the empty string "".
|
1211
1240
|
"""
|
1212
|
-
kind: ArtifactKind | None = CharField(
|
1241
|
+
kind: ArtifactKind | str | None = CharField(
|
1213
1242
|
max_length=20,
|
1214
1243
|
db_index=True,
|
1215
1244
|
null=True,
|
1216
1245
|
)
|
1217
|
-
""":class:`~lamindb.base.types.ArtifactKind` (default `None`)."""
|
1246
|
+
""":class:`~lamindb.base.types.ArtifactKind` or custom `str` value (default `None`)."""
|
1218
1247
|
otype: str | None = CharField(
|
1219
1248
|
max_length=64, db_index=True, null=True, editable=False
|
1220
1249
|
)
|
@@ -1327,7 +1356,7 @@ class Artifact(SQLRecord, IsVersioned, TracksRun, TracksUpdates):
|
|
1327
1356
|
# here; and we might refactor this but we might also keep that internal
|
1328
1357
|
# usage
|
1329
1358
|
data: UPathStr,
|
1330
|
-
kind: ArtifactKind | None = None,
|
1359
|
+
kind: ArtifactKind | str | None = None,
|
1331
1360
|
key: str | None = None,
|
1332
1361
|
description: str | None = None,
|
1333
1362
|
revises: Artifact | None = None,
|
@@ -2246,6 +2275,7 @@ class Artifact(SQLRecord, IsVersioned, TracksRun, TracksUpdates):
|
|
2246
2275
|
**kwargs,
|
2247
2276
|
) -> (
|
2248
2277
|
AnnDataAccessor
|
2278
|
+
| SpatialDataAccessor
|
2249
2279
|
| BackedAccessor
|
2250
2280
|
| SOMACollection
|
2251
2281
|
| SOMAExperiment
|
lamindb/models/collection.py
CHANGED
@@ -1,12 +1,7 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
3
|
import warnings
|
4
|
-
from typing import
|
5
|
-
TYPE_CHECKING,
|
6
|
-
Any,
|
7
|
-
Literal,
|
8
|
-
overload,
|
9
|
-
)
|
4
|
+
from typing import TYPE_CHECKING, Any, Literal, overload
|
10
5
|
|
11
6
|
import anndata as ad
|
12
7
|
import pandas as pd
|
@@ -132,7 +127,7 @@ class Collection(SQLRecord, IsVersioned, TracksRun, TracksUpdates):
|
|
132
127
|
"""Versioned collections of artifacts.
|
133
128
|
|
134
129
|
Args:
|
135
|
-
artifacts: `list[Artifact]`
|
130
|
+
artifacts: `Artifact | list[Artifact]` One or several artifacts.
|
136
131
|
key: `str` A file-path like key, analogous to the `key` parameter of `Artifact` and `Transform`.
|
137
132
|
description: `str | None = None` A description.
|
138
133
|
revises: `Collection | None = None` An old version of the collection.
|
@@ -232,7 +227,7 @@ class Collection(SQLRecord, IsVersioned, TracksRun, TracksUpdates):
|
|
232
227
|
@overload
|
233
228
|
def __init__(
|
234
229
|
self,
|
235
|
-
artifacts: list[Artifact],
|
230
|
+
artifacts: Artifact | list[Artifact],
|
236
231
|
key: str,
|
237
232
|
description: str | None = None,
|
238
233
|
meta: Any | None = None,
|
@@ -259,7 +254,7 @@ class Collection(SQLRecord, IsVersioned, TracksRun, TracksUpdates):
|
|
259
254
|
# now we proceed with the user-facing constructor
|
260
255
|
if len(args) > 1:
|
261
256
|
raise ValueError("Only one non-keyword arg allowed: artifacts")
|
262
|
-
artifacts: Artifact |
|
257
|
+
artifacts: Artifact | list[Artifact] = (
|
263
258
|
kwargs.pop("artifacts") if len(args) == 0 else args[0]
|
264
259
|
)
|
265
260
|
meta_artifact: Artifact | None = kwargs.pop("meta_artifact", None)
|
lamindb/models/project.py
CHANGED
@@ -133,7 +133,7 @@ class Reference(SQLRecord, CanCurate, TracksRun, TracksUpdates, ValidateFields):
|
|
133
133
|
null=True,
|
134
134
|
)
|
135
135
|
"""An abbreviation for the reference."""
|
136
|
-
url: str | None = URLField(null=True)
|
136
|
+
url: str | None = URLField(null=True, db_index=True)
|
137
137
|
"""URL linking to the reference."""
|
138
138
|
pubmed_id: int | None = BigIntegerField(null=True, db_index=True)
|
139
139
|
"""A PudMmed ID."""
|
@@ -150,7 +150,7 @@ class Reference(SQLRecord, CanCurate, TracksRun, TracksUpdates, ValidateFields):
|
|
150
150
|
"""Digital Object Identifier (DOI) for the reference."""
|
151
151
|
description: str | None = CharField(null=True, db_index=True)
|
152
152
|
"""Description of the reference."""
|
153
|
-
text: str | None = TextField(null=True)
|
153
|
+
text: str | None = TextField(null=True, db_index=True)
|
154
154
|
"""Abstract or full text of the reference to make it searchable."""
|
155
155
|
date: DateType | None = DateField(null=True, default=None)
|
156
156
|
"""Date of creation or publication of the reference."""
|
lamindb/models/record.py
CHANGED
@@ -93,7 +93,7 @@ class Record(SQLRecord, CanCurate, TracksRun, TracksUpdates):
|
|
93
93
|
"""Record-like components of this record."""
|
94
94
|
composites: Record
|
95
95
|
"""Record-like composites of this record."""
|
96
|
-
description: str | None = CharField(null=True)
|
96
|
+
description: str | None = CharField(null=True, db_index=True)
|
97
97
|
"""A description (optional)."""
|
98
98
|
linked_artifacts: Artifact = models.ManyToManyField(
|
99
99
|
Artifact, through="RecordArtifact", related_name="linked_in_records"
|
lamindb/models/run.py
CHANGED
@@ -232,7 +232,7 @@ class Run(SQLRecord):
|
|
232
232
|
editable=False, unique=True, db_index=True, max_length=20, default=base62_16
|
233
233
|
)
|
234
234
|
"""Universal id, valid across DB instances."""
|
235
|
-
name: str | None = CharField(max_length=150, null=True)
|
235
|
+
name: str | None = CharField(max_length=150, null=True, db_index=True)
|
236
236
|
"""A name."""
|
237
237
|
transform: Transform = ForeignKey("Transform", CASCADE, related_name="runs")
|
238
238
|
"""The transform :class:`~lamindb.Transform` that is being run."""
|
lamindb/models/sqlrecord.py
CHANGED
@@ -1764,6 +1764,9 @@ def record_repr(
|
|
1764
1764
|
field_names.insert(0, "uid")
|
1765
1765
|
fields_str = {}
|
1766
1766
|
for k in field_names:
|
1767
|
+
if k == "n" and getattr(self, k) < 0:
|
1768
|
+
# only needed for Schema
|
1769
|
+
continue
|
1767
1770
|
if not k.startswith("_") and hasattr(self, k):
|
1768
1771
|
value = getattr(self, k)
|
1769
1772
|
# Force strip the time component of the version
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: lamindb
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.10.1
|
4
4
|
Summary: A data framework for biology.
|
5
5
|
Author-email: Lamin Labs <open-source@lamin.ai>
|
6
6
|
Requires-Python: >=3.10,<3.14
|
@@ -10,8 +10,8 @@ Classifier: Programming Language :: Python :: 3.11
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.12
|
11
11
|
Classifier: Programming Language :: Python :: 3.13
|
12
12
|
Requires-Dist: lamin_utils==0.15.0
|
13
|
-
Requires-Dist: lamin_cli==1.6.
|
14
|
-
Requires-Dist: lamindb_setup[aws]==1.
|
13
|
+
Requires-Dist: lamin_cli==1.6.1
|
14
|
+
Requires-Dist: lamindb_setup[aws]==1.9.1
|
15
15
|
Requires-Dist: pyyaml
|
16
16
|
Requires-Dist: pyarrow
|
17
17
|
Requires-Dist: pandera>=0.24.0
|
@@ -19,7 +19,7 @@ Requires-Dist: typing_extensions!=4.6.0
|
|
19
19
|
Requires-Dist: python-dateutil
|
20
20
|
Requires-Dist: pandas>=2.0.0
|
21
21
|
Requires-Dist: scipy<1.15.0
|
22
|
-
Requires-Dist: anndata>=0.8.0,<=0.12.
|
22
|
+
Requires-Dist: anndata>=0.8.0,<=0.12.1
|
23
23
|
Requires-Dist: fsspec
|
24
24
|
Requires-Dist: graphviz
|
25
25
|
Requires-Dist: psycopg2-binary
|
@@ -1,4 +1,4 @@
|
|
1
|
-
lamindb/__init__.py,sha256=
|
1
|
+
lamindb/__init__.py,sha256=cWTeR7mqoNI5I8jjkRldYjJOqmaCsy7n8wCvbbWbeNI,2905
|
2
2
|
lamindb/_finish.py,sha256=3HVKRw27rQs_S2ior-JX2IU0vUkeG5a6p8XgEgdT8-U,21219
|
3
3
|
lamindb/_tracked.py,sha256=-wK7BJv30nf4v2_nH5qDCyxHvug7ih6duQNGxDrj3UE,4447
|
4
4
|
lamindb/_view.py,sha256=cod1RnZoLyzMVJcjWjytg78Sf4qsR8IAdqpwzsi8FTw,4950
|
@@ -10,7 +10,7 @@ lamindb/base/ids.py,sha256=X-1N129FOoNw4TPlK_EzgTZOzRidiMyPWszz9r_066g,34
|
|
10
10
|
lamindb/base/types.py,sha256=NM_J9hQE80fere5dy-se04_Tg2BnPx_0n1ulLHL9iss,3027
|
11
11
|
lamindb/base/uids.py,sha256=cLBi5mIlsf1ltkTb17r1FLzlOjlGmjvsCygoVJHQ-A8,2116
|
12
12
|
lamindb/base/users.py,sha256=8MSmAvCKoUF15YsDE6BGLBXsFWpfoEEg8iDTKZ7kD48,848
|
13
|
-
lamindb/core/__init__.py,sha256=
|
13
|
+
lamindb/core/__init__.py,sha256=I9F-GugBMZwFLpUPb1MXyLfccIVAj021Gb_00h_18MY,633
|
14
14
|
lamindb/core/_compat.py,sha256=NLnKk1qk4xdgMV-QwFDnBnbio02ujjlF86icvhpdv4c,2029
|
15
15
|
lamindb/core/_context.py,sha256=5edP0M5_m8zgNXu7-1XaRLOv20i5LaWHBkEvMHsSiB0,40376
|
16
16
|
lamindb/core/_mapped_collection.py,sha256=osquwC6ee0wJ_I6O-8AZwnQUa_r9zqa0MN82Q-nBI3Y,25746
|
@@ -20,16 +20,12 @@ lamindb/core/_track_environment.py,sha256=fa0-qKEe0BpL79_nsDUDtbg1iA3VpJTh0RCOGd
|
|
20
20
|
lamindb/core/exceptions.py,sha256=FMEoSvT3FvtLkxQAt2oDXPeaPem8V5x5UBbTsPFYU5w,53
|
21
21
|
lamindb/core/loaders.py,sha256=QH3r3Q_aPrbkgiWaV30TmxcLCs6zZFQLRW442DsTrNU,5456
|
22
22
|
lamindb/core/types.py,sha256=_u8amXATAZN-nNGNWYGmyqYDcHbT_i0NZeLRhm_-ygI,378
|
23
|
-
lamindb/core/
|
24
|
-
lamindb/core/
|
25
|
-
lamindb/core/
|
26
|
-
lamindb/core/datasets/_small.py,sha256=60WKs6Oo2NE7HUqe6PLfiPxH_5TYUjr_iZdtFWiOeAA,3460
|
27
|
-
lamindb/core/datasets/mini_immuno.py,sha256=eAtRQ3_4cln5IFzTH0jNufbWcyQKrXmzizbSmvfS-FM,5707
|
28
|
-
lamindb/core/storage/__init__.py,sha256=JOIMu_7unbyhndtH1j0Q-9AvY8knSuc1IJO9sQnyBAQ,498
|
29
|
-
lamindb/core/storage/_anndata_accessor.py,sha256=jrKbRylkqgZ3opKcJCwilDhRGEnPcQsKt-X7EA9Isr8,26100
|
30
|
-
lamindb/core/storage/_backed_access.py,sha256=6YczvbmcmwZsOHFyD0ArDrvysUUAEiYcwZ_8TyWi_r8,7674
|
23
|
+
lamindb/core/storage/__init__.py,sha256=2gJyn9w6rzv3oPHjY756OfQYrLEXb37YuKMqh6ZjbF8,542
|
24
|
+
lamindb/core/storage/_anndata_accessor.py,sha256=NOAqI-SHS8IwM0MwsZmRUtqG8r4tBTJ9T8888lhvQkw,26611
|
25
|
+
lamindb/core/storage/_backed_access.py,sha256=5y3C_D1g89d831FAXr8-WashmmL3cdNfTR5s61vrMdA,7858
|
31
26
|
lamindb/core/storage/_polars_lazy_df.py,sha256=_JhnU8RmoTzU2kp7kyHRSUTAkFhpCJo6NNnHxvBXQv4,2929
|
32
27
|
lamindb/core/storage/_pyarrow_dataset.py,sha256=lRYYt7edUtwauhxd7RwFud6YPDbz2PFvYYgqLhfapfk,1398
|
28
|
+
lamindb/core/storage/_spatialdata_accessor.py,sha256=e5jqRMWAb2zA0srHOTpgmUdFZk54g6gVEbkEBqq6Ndk,1446
|
33
29
|
lamindb/core/storage/_tiledbsoma.py,sha256=EdzgGVTamB7Ef31doGFWwIOhTd9TNrBfNUplDWSp6wo,11386
|
34
30
|
lamindb/core/storage/_valid_suffixes.py,sha256=vUSeQ4s01rdhD_vSd6wKmFBsgMJAKkBMnL_T9Y1znMg,501
|
35
31
|
lamindb/core/storage/_zarr.py,sha256=PncgrnA3XX2D01AQsTatCImEpbJUriEo00LHmARCkIE,4265
|
@@ -41,17 +37,25 @@ lamindb/core/subsettings/_creation_settings.py,sha256=NGHWKqCFSzVNBxAr2VnmdYguiF
|
|
41
37
|
lamindb/curators/__init__.py,sha256=WLnaVxrhQGZxGB3pjg-SM4oUu6DaKA78S_J3BfVKLEg,496
|
42
38
|
lamindb/curators/_legacy.py,sha256=V2zF1J7jN2Ry7ascH06JytrAQzeOiirg7e4a9d0hpvM,54768
|
43
39
|
lamindb/curators/core.py,sha256=OfCSLw6Ngu_HmCSjwRUZrsVwcdq-ge9JL1Wfl0djiyM,68832
|
44
|
-
lamindb/examples/__init__.py,sha256=
|
40
|
+
lamindb/examples/__init__.py,sha256=f0pBxijIA26ULUBnsP2sa1e4CLqMTeUUEqNeINJIf9o,179
|
45
41
|
lamindb/examples/cellxgene/__init__.py,sha256=Xzxfi_NQcWdK-RrbNFdlIFQFVPG8Qy18ekYx3sOQZeM,161
|
46
|
-
lamindb/examples/cellxgene/_cellxgene.py,sha256=
|
42
|
+
lamindb/examples/cellxgene/_cellxgene.py,sha256=HP_skQJbNYDEYhiLUpaP9kfmtPivmgTuGyoWNLs07nw,8844
|
47
43
|
lamindb/examples/cellxgene/cxg_schema_versions.csv,sha256=Du_zk2rrMA4AbHwYp6vgLzZH1Krnmml_KVerc2IvvkI,2107
|
44
|
+
lamindb/examples/croissant/__init__.py,sha256=a8LFsAvHzts_C2jlcbuF7kxwGEBWd4VERsluwDFh_iY,1418
|
45
|
+
lamindb/examples/croissant/mini_immuno.anndata.zarr_metadata.json,sha256=XhY4wnFyMoK4Thkaolh2yJxtU6sX0bdFsJvRvt942k8,2921
|
46
|
+
lamindb/examples/datasets/__init__.py,sha256=TI91CjNMh0MqcZVcruO6xLGPYqqQ5o3p_E37huOV3GI,1976
|
47
|
+
lamindb/examples/datasets/_core.py,sha256=o_Kaz-i1W7ldXP2d1arUix_JvxPS9n2bpDAiW0M_yxA,21302
|
48
|
+
lamindb/examples/datasets/_fake.py,sha256=BZF9R_1iF0HDnvtZNqL2FtsjSMuqDIfuFxnw_LJYIh4,953
|
49
|
+
lamindb/examples/datasets/_small.py,sha256=60WKs6Oo2NE7HUqe6PLfiPxH_5TYUjr_iZdtFWiOeAA,3460
|
50
|
+
lamindb/examples/datasets/mini_immuno.py,sha256=ZEL9T4zhCKm8ggqU7VVhuihVKPR3MmlkJNOtdygH2v4,6107
|
48
51
|
lamindb/examples/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
49
52
|
lamindb/examples/fixtures/sheets.py,sha256=2oRAY2jQYCJuW_gCTGAs90XerYQHIe3pivoi0vzgXpc,9035
|
50
53
|
lamindb/examples/schemas/__init__.py,sha256=NPDp7VjMOHStEIthx3xW9NSHtY7jnnMzrNPcSDgxT3M,241
|
51
|
-
lamindb/examples/schemas/_anndata.py,sha256=
|
52
|
-
lamindb/examples/schemas/_simple.py,sha256=
|
53
|
-
lamindb/integrations/__init__.py,sha256=
|
54
|
-
lamindb/integrations/
|
54
|
+
lamindb/examples/schemas/_anndata.py,sha256=TAQrnBLZhH4TgbznrJDdGK_Gze6cf1MvyXuCcKIvb1g,1210
|
55
|
+
lamindb/examples/schemas/_simple.py,sha256=Dspj5QRmv241IstBxuc1E1Q5YeEqTOnOvakg7ChPj1k,911
|
56
|
+
lamindb/integrations/__init__.py,sha256=Zh0ROuRmob1QGV2mCo3A7cFmdheJGq4CUdo7G16pRHU,286
|
57
|
+
lamindb/integrations/_croissant.py,sha256=9zRkOg2pkaiylKslfKfxYzZ5I5813qhCfA4Er3Q3bB4,4166
|
58
|
+
lamindb/integrations/_vitessce.py,sha256=s2F8KPpYVG0zUOTaDJgH1XAJtQDg1zrD_SxC4ZHUkHk,4035
|
55
59
|
lamindb/migrations/0069_squashed.py,sha256=7XdiRW0MBtr3Jck9dbIy_9qxmB_sjtLM1SH9x062d2k,62631
|
56
60
|
lamindb/migrations/0070_lamindbv1_migrate_data.py,sha256=tyq_xi6U8TXi9C2Raf6v_UTtfyfqQOUIFJzYj4oCgAE,2429
|
57
61
|
lamindb/migrations/0071_lamindbv1_migrate_schema.py,sha256=o47wYtMTuQ-LEVQSftiV0Wwvs3bcISZ_JtWsMxlLykk,25130
|
@@ -99,30 +103,32 @@ lamindb/migrations/0112_alter_recordartifact_feature_and_more.py,sha256=19AothLL
|
|
99
103
|
lamindb/migrations/0113_lower_case_branch_and_space_names.py,sha256=Xt2krstx3t30iTi2z0qTCBNteDA5Wy9L-thRXJSeUA8,1734
|
100
104
|
lamindb/migrations/0114_alter_run__status_code.py,sha256=KkGecSBJElA3LBnhSK5_rFpcFridOuv6BhM8DCYqTKw,612
|
101
105
|
lamindb/migrations/0115_alter_space_uid.py,sha256=18fCP8d31Ox1KxSSmfzU-W3lSpS3xtiaBNbPeHQiuTM,1332
|
102
|
-
lamindb/migrations/
|
106
|
+
lamindb/migrations/0116_remove_artifact_unique_artifact_storage_key_hash_and_more.py,sha256=vCAeIg8TdtVaC2kZIq3KTY5hcz_RiXh_44Sczv75RA4,1562
|
107
|
+
lamindb/migrations/0117_fix_artifact_storage_hash_unique_constraints.py,sha256=OqgUmf9_TeNwTddwcwZdJYfpN6cpFYBaw5_KitYumNM,1033
|
108
|
+
lamindb/migrations/0117_squashed.py,sha256=i9rdXIVWkgNaZTaaFs-Ozi_0CC-pKHOdF2ZM37M4fOY,163772
|
103
109
|
lamindb/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
104
110
|
lamindb/models/__init__.py,sha256=mtjZH0x31aV463YaUef8ZvdQHlGa6SZr_thsrlbdkCg,2419
|
105
|
-
lamindb/models/_describe.py,sha256=
|
106
|
-
lamindb/models/_django.py,sha256=
|
107
|
-
lamindb/models/_feature_manager.py,sha256=
|
111
|
+
lamindb/models/_describe.py,sha256=OD-MokYrB6mfzkmFdTkRj0J93LyqxFOgJi_5LvOXr1A,10915
|
112
|
+
lamindb/models/_django.py,sha256=go0sAhIGJ-JkYe5OMviWUm-ZwHdqDuBgnPbFvncA-lQ,12347
|
113
|
+
lamindb/models/_feature_manager.py,sha256=rKScsFCpmZ1JVu4pnq59MhZsz90zlF6oN2UAilwPokU,55038
|
108
114
|
lamindb/models/_from_values.py,sha256=cCGPMDlAbBrdhFW-XrIQVZ10q1LNg4MycYPLOkF0fTc,13366
|
109
115
|
lamindb/models/_is_versioned.py,sha256=Th2_cBf9UWh27E6ANxg6LGmjBOumXFy7AjH0GG4FoXA,7601
|
110
116
|
lamindb/models/_label_manager.py,sha256=O3KaaTEVId5ky3h0aCGg1kDoFFfrovFYlV82YsZZyIs,12127
|
111
117
|
lamindb/models/_relations.py,sha256=zHYLujy9vkuB9jVq5844TpzLSP__iYNCQcsl-FzK1Jw,3700
|
112
|
-
lamindb/models/artifact.py,sha256=
|
118
|
+
lamindb/models/artifact.py,sha256=yBNgOJTokGKy5EUDzugzs1bXBObGKSqDLJ2nZLk6M3s,117610
|
113
119
|
lamindb/models/artifact_set.py,sha256=VOZEGDo3m_9Yg_ftx3I2fwdydjHN61X_qV18N6xG4kM,4117
|
114
120
|
lamindb/models/can_curate.py,sha256=_6ymHhtc9zpU8O6ozqNDqn7jh87C9JisU_dl2gH2Hpo,29329
|
115
|
-
lamindb/models/collection.py,sha256=
|
121
|
+
lamindb/models/collection.py,sha256=ZMBaDqQtil9yWqDC_twKbavGkdAulcu9j2WlfHADxn0,28358
|
116
122
|
lamindb/models/feature.py,sha256=eIskKsSBkwW6ftfOZ_ngeqD9Pi6Y70cY_m3WHTCXNU8,38031
|
117
123
|
lamindb/models/has_parents.py,sha256=NRNshrWCX7G3nnM3lnnHQ3Ho216T3EJfgakY6KlTvt8,20301
|
118
|
-
lamindb/models/project.py,sha256=
|
124
|
+
lamindb/models/project.py,sha256=4w2rMZMPrLmvirvJQanhKfqwGqEnpY42iaOWi99YPw0,17345
|
119
125
|
lamindb/models/query_manager.py,sha256=EzbyNA5zWUbLYH5yJ7dIC90j1teVoQHrXpRLjCfBEao,11036
|
120
126
|
lamindb/models/query_set.py,sha256=d27m8UF8QZAzHZBEVE1QdJRtx9wCzYgkDdHGCATBM48,34815
|
121
|
-
lamindb/models/record.py,sha256=
|
122
|
-
lamindb/models/run.py,sha256=
|
127
|
+
lamindb/models/record.py,sha256=WW6iuQT8M4KHcpZoYGSTjND10hvDUIff7DOkyD5d2Fc,12070
|
128
|
+
lamindb/models/run.py,sha256=czMzg1Hp0Ju4eGM0T2vwCSerVpdzd5JyEW2Kj9tjg2o,15580
|
123
129
|
lamindb/models/save.py,sha256=jXha2jfY-pWsKuP2dwaEROhUGxhM8fTWQGWAzA_xsM0,16777
|
124
130
|
lamindb/models/schema.py,sha256=7l2T_uOi7Lkj4yHuZWml1p7axBn_yNO4IlXkn8M2f9g,48962
|
125
|
-
lamindb/models/sqlrecord.py,sha256=
|
131
|
+
lamindb/models/sqlrecord.py,sha256=SBonVDvkUXh4XZgM87VV96yM9MNMgVvBlRalhTpaZH8,68515
|
126
132
|
lamindb/models/storage.py,sha256=0jvuQyJcIMdrZ9qq-vmKkI66libb2DqWjCXNFuvinIM,13518
|
127
133
|
lamindb/models/transform.py,sha256=oXT_uF9CM4vrEt1APbdSUSMxclkxeVq9tjgQRmicqos,12774
|
128
134
|
lamindb/models/ulabel.py,sha256=ocAMSKeQcq2Kr6Dq0mxGupOmW1K0pAs19vjDeTEb6vM,9335
|
@@ -131,7 +137,7 @@ lamindb/setup/_switch.py,sha256=njZJN__JOhVrBFGClQG1wobdhJJp6l_XzPGKtKSCrfU,434
|
|
131
137
|
lamindb/setup/core/__init__.py,sha256=SevlVrc2AZWL3uALbE5sopxBnIZPWZ1IB0NBDudiAL8,167
|
132
138
|
lamindb/setup/errors/__init__.py,sha256=bAHTxOUJW1rm4zpF0Pvqkftn8W6iMGnQ-uyNBu13Nfg,171
|
133
139
|
lamindb/setup/types/__init__.py,sha256=ATaosOi6q-cDWB52T69_sRmLMqj8cHfc-vljzZsrJNw,169
|
134
|
-
lamindb-1.
|
135
|
-
lamindb-1.
|
136
|
-
lamindb-1.
|
137
|
-
lamindb-1.
|
140
|
+
lamindb-1.10.1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
141
|
+
lamindb-1.10.1.dist-info/WHEEL,sha256=CpUCUxeHQbRN5UGRQHYRJorO5Af-Qy_fHMctcQ8DSGI,82
|
142
|
+
lamindb-1.10.1.dist-info/METADATA,sha256=UYl8nK7xlSZg0L4GaKYNkMjXuNs36LvfgSJFq-StSho,5199
|
143
|
+
lamindb-1.10.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|