lamindb 0.76.6__py3-none-any.whl → 0.76.8__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.
Files changed (61) hide show
  1. lamindb/__init__.py +113 -113
  2. lamindb/_artifact.py +1205 -1174
  3. lamindb/_can_validate.py +579 -579
  4. lamindb/_collection.py +387 -382
  5. lamindb/_curate.py +1601 -1601
  6. lamindb/_feature.py +155 -155
  7. lamindb/_feature_set.py +242 -242
  8. lamindb/_filter.py +23 -23
  9. lamindb/_finish.py +256 -256
  10. lamindb/_from_values.py +382 -382
  11. lamindb/_is_versioned.py +40 -40
  12. lamindb/_parents.py +476 -476
  13. lamindb/_query_manager.py +125 -125
  14. lamindb/_query_set.py +362 -362
  15. lamindb/_record.py +649 -649
  16. lamindb/_run.py +57 -57
  17. lamindb/_save.py +308 -295
  18. lamindb/_storage.py +14 -14
  19. lamindb/_transform.py +127 -127
  20. lamindb/_ulabel.py +56 -56
  21. lamindb/_utils.py +9 -9
  22. lamindb/_view.py +72 -72
  23. lamindb/core/__init__.py +94 -93
  24. lamindb/core/_context.py +574 -558
  25. lamindb/core/_data.py +438 -438
  26. lamindb/core/_feature_manager.py +867 -866
  27. lamindb/core/_label_manager.py +253 -252
  28. lamindb/core/_mapped_collection.py +597 -597
  29. lamindb/core/_settings.py +187 -187
  30. lamindb/core/_sync_git.py +138 -138
  31. lamindb/core/_track_environment.py +27 -27
  32. lamindb/core/datasets/__init__.py +59 -59
  33. lamindb/core/datasets/_core.py +571 -571
  34. lamindb/core/datasets/_fake.py +36 -36
  35. lamindb/core/exceptions.py +90 -77
  36. lamindb/core/fields.py +12 -12
  37. lamindb/core/loaders.py +164 -0
  38. lamindb/core/schema.py +56 -56
  39. lamindb/core/storage/__init__.py +25 -25
  40. lamindb/core/storage/_anndata_accessor.py +740 -740
  41. lamindb/core/storage/_anndata_sizes.py +41 -41
  42. lamindb/core/storage/_backed_access.py +98 -98
  43. lamindb/core/storage/_tiledbsoma.py +204 -196
  44. lamindb/core/storage/_valid_suffixes.py +21 -21
  45. lamindb/core/storage/_zarr.py +110 -110
  46. lamindb/core/storage/objects.py +62 -62
  47. lamindb/core/storage/paths.py +172 -245
  48. lamindb/core/subsettings/__init__.py +12 -12
  49. lamindb/core/subsettings/_creation_settings.py +38 -38
  50. lamindb/core/subsettings/_transform_settings.py +21 -21
  51. lamindb/core/types.py +19 -19
  52. lamindb/core/versioning.py +158 -158
  53. lamindb/integrations/__init__.py +12 -12
  54. lamindb/integrations/_vitessce.py +107 -107
  55. lamindb/setup/__init__.py +14 -14
  56. lamindb/setup/core/__init__.py +4 -4
  57. {lamindb-0.76.6.dist-info → lamindb-0.76.8.dist-info}/LICENSE +201 -201
  58. {lamindb-0.76.6.dist-info → lamindb-0.76.8.dist-info}/METADATA +5 -5
  59. lamindb-0.76.8.dist-info/RECORD +60 -0
  60. {lamindb-0.76.6.dist-info → lamindb-0.76.8.dist-info}/WHEEL +1 -1
  61. lamindb-0.76.6.dist-info/RECORD +0 -59
lamindb/_run.py CHANGED
@@ -1,57 +1,57 @@
1
- from __future__ import annotations
2
-
3
- from lnschema_core.models import ParamManager, Run, Transform
4
-
5
-
6
- def __init__(run: Run, *args, **kwargs):
7
- run.params = ParamManager(run)
8
- if len(args) == len(run._meta.concrete_fields):
9
- super(Run, run).__init__(*args, **kwargs)
10
- return None
11
- # now we proceed with the user-facing constructor
12
- if len(args) > 1:
13
- raise ValueError("Only one non-keyword arg allowed: transform")
14
- transform: Transform = None
15
- if "transform" in kwargs or len(args) == 1:
16
- transform = kwargs.pop("transform") if len(args) == 0 else args[0]
17
- reference: str | None = kwargs.pop("reference") if "reference" in kwargs else None
18
- reference_type: str | None = (
19
- kwargs.pop("reference_type") if "reference_type" in kwargs else None
20
- )
21
- if transform is None:
22
- raise TypeError("Pass transform parameter")
23
- if transform._state.adding:
24
- raise ValueError("Please save transform record before creating a run")
25
- super(Run, run).__init__(
26
- transform=transform,
27
- reference=reference,
28
- reference_type=reference_type,
29
- )
30
-
31
-
32
- def delete_run_artifacts(run: Run) -> None:
33
- environment = None
34
- if run.environment is not None:
35
- environment = run.environment
36
- run.environment = None
37
- report = None
38
- if run.report is not None:
39
- report = run.report
40
- run.report = None
41
- if environment is not None or report is not None:
42
- run.save()
43
- if environment is not None:
44
- # only delete if there are no other runs attached to this environment
45
- if environment._environment_of.count() == 0:
46
- environment.delete(permanent=True)
47
- if report is not None:
48
- report.delete(permanent=True)
49
-
50
-
51
- def delete(self) -> None:
52
- delete_run_artifacts(self)
53
- super(Run, self).delete()
54
-
55
-
56
- Run.__init__ = __init__
57
- Run.delete = delete
1
+ from __future__ import annotations
2
+
3
+ from lnschema_core.models import ParamManager, Run, Transform
4
+
5
+
6
+ def __init__(run: Run, *args, **kwargs):
7
+ run.params = ParamManager(run)
8
+ if len(args) == len(run._meta.concrete_fields):
9
+ super(Run, run).__init__(*args, **kwargs)
10
+ return None
11
+ # now we proceed with the user-facing constructor
12
+ if len(args) > 1:
13
+ raise ValueError("Only one non-keyword arg allowed: transform")
14
+ transform: Transform = None
15
+ if "transform" in kwargs or len(args) == 1:
16
+ transform = kwargs.pop("transform") if len(args) == 0 else args[0]
17
+ reference: str | None = kwargs.pop("reference") if "reference" in kwargs else None
18
+ reference_type: str | None = (
19
+ kwargs.pop("reference_type") if "reference_type" in kwargs else None
20
+ )
21
+ if transform is None:
22
+ raise TypeError("Pass transform parameter")
23
+ if transform._state.adding:
24
+ raise ValueError("Please save transform record before creating a run")
25
+ super(Run, run).__init__(
26
+ transform=transform,
27
+ reference=reference,
28
+ reference_type=reference_type,
29
+ )
30
+
31
+
32
+ def delete_run_artifacts(run: Run) -> None:
33
+ environment = None
34
+ if run.environment is not None:
35
+ environment = run.environment
36
+ run.environment = None
37
+ report = None
38
+ if run.report is not None:
39
+ report = run.report
40
+ run.report = None
41
+ if environment is not None or report is not None:
42
+ run.save()
43
+ if environment is not None:
44
+ # only delete if there are no other runs attached to this environment
45
+ if environment._environment_of.count() == 0:
46
+ environment.delete(permanent=True)
47
+ if report is not None:
48
+ report.delete(permanent=True)
49
+
50
+
51
+ def delete(self) -> None:
52
+ delete_run_artifacts(self)
53
+ super(Run, self).delete()
54
+
55
+
56
+ Run.__init__ = __init__
57
+ Run.delete = delete