lamindb 1.0.5__py3-none-any.whl → 1.1.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.
Files changed (80) hide show
  1. lamindb/__init__.py +17 -6
  2. lamindb/_artifact.py +202 -87
  3. lamindb/_can_curate.py +27 -8
  4. lamindb/_collection.py +86 -52
  5. lamindb/_feature.py +177 -41
  6. lamindb/_finish.py +21 -7
  7. lamindb/_from_values.py +83 -98
  8. lamindb/_parents.py +4 -4
  9. lamindb/_query_set.py +78 -18
  10. lamindb/_record.py +170 -53
  11. lamindb/_run.py +4 -4
  12. lamindb/_save.py +42 -11
  13. lamindb/_schema.py +135 -38
  14. lamindb/_storage.py +1 -1
  15. lamindb/_tracked.py +129 -0
  16. lamindb/_transform.py +21 -8
  17. lamindb/_ulabel.py +5 -14
  18. lamindb/base/users.py +1 -4
  19. lamindb/base/validation.py +2 -6
  20. lamindb/core/__init__.py +13 -14
  21. lamindb/core/_context.py +14 -9
  22. lamindb/core/_data.py +29 -25
  23. lamindb/core/_describe.py +1 -1
  24. lamindb/core/_django.py +1 -1
  25. lamindb/core/_feature_manager.py +53 -43
  26. lamindb/core/_label_manager.py +4 -4
  27. lamindb/core/_mapped_collection.py +24 -9
  28. lamindb/core/_track_environment.py +2 -1
  29. lamindb/core/datasets/__init__.py +6 -1
  30. lamindb/core/datasets/_core.py +12 -11
  31. lamindb/core/datasets/_small.py +67 -21
  32. lamindb/core/exceptions.py +1 -90
  33. lamindb/core/loaders.py +21 -15
  34. lamindb/core/relations.py +6 -4
  35. lamindb/core/storage/_anndata_accessor.py +49 -3
  36. lamindb/core/storage/_backed_access.py +12 -7
  37. lamindb/core/storage/_pyarrow_dataset.py +40 -15
  38. lamindb/core/storage/_tiledbsoma.py +56 -12
  39. lamindb/core/storage/paths.py +30 -24
  40. lamindb/core/subsettings/_creation_settings.py +4 -16
  41. lamindb/curators/__init__.py +2193 -846
  42. lamindb/curators/_cellxgene_schemas/__init__.py +26 -0
  43. lamindb/curators/_cellxgene_schemas/schema_versions.yml +104 -0
  44. lamindb/errors.py +96 -0
  45. lamindb/integrations/_vitessce.py +3 -3
  46. lamindb/migrations/0069_squashed.py +76 -75
  47. lamindb/migrations/0075_lamindbv1_part5.py +4 -5
  48. lamindb/migrations/0082_alter_feature_dtype.py +21 -0
  49. lamindb/migrations/0083_alter_feature_is_type_alter_flextable_is_type_and_more.py +94 -0
  50. lamindb/migrations/0084_alter_schemafeature_feature_and_more.py +35 -0
  51. lamindb/migrations/0085_alter_feature_is_type_alter_flextable_is_type_and_more.py +63 -0
  52. lamindb/migrations/0086_various.py +95 -0
  53. lamindb/migrations/0087_rename__schemas_m2m_artifact_feature_sets_and_more.py +41 -0
  54. lamindb/migrations/0088_schema_components.py +273 -0
  55. lamindb/migrations/0088_squashed.py +4372 -0
  56. lamindb/models.py +475 -168
  57. {lamindb-1.0.5.dist-info → lamindb-1.1.1.dist-info}/METADATA +9 -7
  58. lamindb-1.1.1.dist-info/RECORD +95 -0
  59. lamindb/curators/_spatial.py +0 -528
  60. lamindb/migrations/0052_squashed.py +0 -1261
  61. lamindb/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +0 -57
  62. lamindb/migrations/0054_alter_feature_previous_runs_and_more.py +0 -35
  63. lamindb/migrations/0055_artifact_type_artifactparamvalue_and_more.py +0 -61
  64. lamindb/migrations/0056_rename_ulabel_ref_is_name_artifactulabel_label_ref_is_name_and_more.py +0 -22
  65. lamindb/migrations/0057_link_models_latest_report_and_others.py +0 -356
  66. lamindb/migrations/0058_artifact__actions_collection__actions.py +0 -22
  67. lamindb/migrations/0059_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -31
  68. lamindb/migrations/0060_alter_artifact__actions.py +0 -22
  69. lamindb/migrations/0061_alter_collection_meta_artifact_alter_run_environment_and_more.py +0 -45
  70. lamindb/migrations/0062_add_is_latest_field.py +0 -32
  71. lamindb/migrations/0063_populate_latest_field.py +0 -45
  72. lamindb/migrations/0064_alter_artifact_version_alter_collection_version_and_more.py +0 -33
  73. lamindb/migrations/0065_remove_collection_feature_sets_and_more.py +0 -22
  74. lamindb/migrations/0066_alter_artifact__feature_values_and_more.py +0 -352
  75. lamindb/migrations/0067_alter_featurevalue_unique_together_and_more.py +0 -20
  76. lamindb/migrations/0068_alter_artifactulabel_unique_together_and_more.py +0 -20
  77. lamindb/migrations/0069_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -1294
  78. lamindb-1.0.5.dist-info/RECORD +0 -102
  79. {lamindb-1.0.5.dist-info → lamindb-1.1.1.dist-info}/LICENSE +0 -0
  80. {lamindb-1.0.5.dist-info → lamindb-1.1.1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,26 @@
1
+ from pathlib import Path
2
+
3
+ import pandas as pd
4
+ import yaml # type: ignore
5
+
6
+
7
+ def _read_schema_versions(ontology_versions: Path) -> dict[str, pd.DataFrame]:
8
+ data = yaml.safe_load(open(ontology_versions))
9
+ schema_versions = data["schema-version"]
10
+
11
+ def _schema_to_df(schema_data):
12
+ return pd.DataFrame(
13
+ [
14
+ (entity, organism, ontology, version)
15
+ for entity, details in schema_data.items()
16
+ for ontology, values in details.items()
17
+ for organism, version in values.items()
18
+ ],
19
+ columns=["entity", "organism", "source", "version"],
20
+ ).set_index("entity")
21
+
22
+ schema_versions_df = {
23
+ version: _schema_to_df(details) for version, details in schema_versions.items()
24
+ }
25
+
26
+ return schema_versions_df
@@ -0,0 +1,104 @@
1
+ schema-version:
2
+ 4.0.0:
3
+ CellType:
4
+ cl:
5
+ all: "2023-08-24"
6
+ ExperimentalFactor:
7
+ efo:
8
+ all: "3.57.0"
9
+ Ethnicity:
10
+ hancestro:
11
+ human: "3.0"
12
+ DevelopmentalStage:
13
+ hsapdv:
14
+ human: "2020-03-10"
15
+ mmusdv:
16
+ mouse: "2020-03-10"
17
+ Disease:
18
+ mondo:
19
+ all: "2023-08-02"
20
+ Organism:
21
+ ncbitaxon:
22
+ all: "2023-06-20"
23
+ Phenotype:
24
+ pato:
25
+ all: "2023-05-18"
26
+ Tissue:
27
+ uberon:
28
+ all: "2023-09-05"
29
+ Gene:
30
+ genecode:
31
+ human: "v38"
32
+ mouse: "vM27"
33
+ 5.0.0:
34
+ CellType:
35
+ cl:
36
+ all: "2024-01-04"
37
+ ExperimentalFactor:
38
+ efo:
39
+ all: "3.62.0"
40
+ Ethnicity:
41
+ hancestro:
42
+ human: "3.0"
43
+ DevelopmentalStage:
44
+ hsapdv:
45
+ human: "2020-03-10"
46
+ mmusdv:
47
+ mouse: "2020-03-10"
48
+ Disease:
49
+ mondo:
50
+ all: "2024-01-03"
51
+ Organism:
52
+ ncbitaxon:
53
+ all: "2023-06-20"
54
+ ensembl:
55
+ vertebrates: "release-110"
56
+ Phenotype:
57
+ pato:
58
+ all: "2023-05-18"
59
+ Tissue:
60
+ uberon:
61
+ all: "2024-01-18"
62
+ Gene:
63
+ genecode:
64
+ human: "v44"
65
+ mouse: "vM33"
66
+ ensembl:
67
+ human: "release-110"
68
+ mouse: "release-110"
69
+ 5.1.0:
70
+ CellType:
71
+ cl:
72
+ all: "2024-04-05"
73
+ ExperimentalFactor:
74
+ efo:
75
+ all: "3.65.0"
76
+ Ethnicity:
77
+ hancestro:
78
+ human: "3.0"
79
+ DevelopmentalStage:
80
+ hsapdv:
81
+ human: "2020-03-10"
82
+ mmusdv:
83
+ mouse: "2020-03-10"
84
+ Disease:
85
+ mondo:
86
+ all: "2024-05-08"
87
+ Organism:
88
+ ncbitaxon:
89
+ all: "2023-06-20"
90
+ ensembl:
91
+ vertebrates: "release-110"
92
+ Phenotype:
93
+ pato:
94
+ all: "2023-05-18"
95
+ Tissue:
96
+ uberon:
97
+ all: "2024-03-22"
98
+ Gene:
99
+ genecode:
100
+ human: "v44"
101
+ mouse: "vM33"
102
+ ensembl:
103
+ human: "release-110"
104
+ mouse: "release-110"
lamindb/errors.py ADDED
@@ -0,0 +1,96 @@
1
+ """Exceptions.
2
+
3
+ .. autosummary::
4
+ :toctree: .
5
+
6
+ ValidationError
7
+ InvalidArgument
8
+ DoesNotExist
9
+ NotebookNotSaved
10
+ MissingContextUID
11
+ UpdateContext
12
+ IntegrityError
13
+ RecordNameChangeIntegrityError
14
+
15
+ """
16
+
17
+ # inheriting from SystemExit has the sole purpose of suppressing
18
+ # the traceback - this isn't optimal but the current best solution
19
+ # https://laminlabs.slack.com/archives/C04A0RMA0SC/p1726856875597489
20
+
21
+
22
+ class ValidationError(Exception):
23
+ """Validation error."""
24
+
25
+ pass
26
+
27
+
28
+ class InvalidArgument(Exception):
29
+ """Invalid method or function argument."""
30
+
31
+ pass
32
+
33
+
34
+ class TrackNotCalled(Exception):
35
+ """`ln.track()` wasn't called."""
36
+
37
+ pass
38
+
39
+
40
+ class NotebookNotSaved(Exception):
41
+ """Notebook wasn't saved."""
42
+
43
+ pass
44
+
45
+
46
+ # equivalent to Django's DoesNotExist
47
+ # and SQLAlchemy's NoResultFound
48
+ class DoesNotExist(Exception):
49
+ """No record found."""
50
+
51
+ pass
52
+
53
+
54
+ class InconsistentKey(Exception):
55
+ """Inconsistent transform or artifact `key`."""
56
+
57
+ pass
58
+
59
+
60
+ class RecordNameChangeIntegrityError(Exception):
61
+ """Custom exception for name change errors."""
62
+
63
+ pass
64
+
65
+
66
+ class FieldValidationError(Exception):
67
+ """Field validation error."""
68
+
69
+ pass
70
+
71
+
72
+ # -------------------------------------------------------------------------------------
73
+ # run context
74
+ # -------------------------------------------------------------------------------------
75
+
76
+
77
+ class IntegrityError(Exception):
78
+ """Integrity error.
79
+
80
+ For instance, it's not allowed to delete artifacts outside managed storage
81
+ locations.
82
+ """
83
+
84
+ pass
85
+
86
+
87
+ class MissingContextUID(SystemExit):
88
+ """User didn't define transform settings."""
89
+
90
+ pass
91
+
92
+
93
+ class UpdateContext(SystemExit):
94
+ """Transform settings require update."""
95
+
96
+ pass
@@ -31,7 +31,7 @@ def save_vitessce_config(
31
31
  Args:
32
32
  vitessce_config: A `VitessceConfig` object.
33
33
  description: A description for the `VitessceConfig` object. Is used as
34
- `name` for a `Collection` in case the `VitessceConfig` object
34
+ `key` for a `Collection` in case the `VitessceConfig` object
35
35
  references multiple artifacts.
36
36
 
37
37
  .. versionchanged:: 0.76.12
@@ -58,7 +58,7 @@ def save_vitessce_config(
58
58
  assert len(dataset_artifacts) > 0 # noqa: S101
59
59
 
60
60
  # the below will be replaced with a `ln.tracked()` decorator soon
61
- transform = Transform(
61
+ transform = Transform( # type: ignore
62
62
  uid="kup03MJBsIVa0002",
63
63
  key="save_vitessce_config",
64
64
  type="function",
@@ -70,7 +70,7 @@ def save_vitessce_config(
70
70
  if len(dataset_artifacts) > 1:
71
71
  # if we have more datasets, we should create a collection
72
72
  # and attach an action to the collection
73
- collection = Collection(dataset_artifacts, name=description).save()
73
+ collection = Collection(dataset_artifacts, key=description).save()
74
74
 
75
75
  # create a JSON export
76
76
  config_file_local_path = ln_setup.settings.cache_dir / "config.vitessce.json"
@@ -10,81 +10,82 @@ import lamindb.models
10
10
 
11
11
 
12
12
  class Migration(migrations.Migration):
13
- replaces = [
14
- (
15
- "lamindb",
16
- "0037_rename_dataset_to_collection",
17
- ),
18
- (
19
- "lamindb",
20
- "0038_alter_collection_artifact_alter_collection_artifacts_and_more",
21
- ),
22
- (
23
- "lamindb",
24
- "0039_remove_collection_artifacts_collectionartifact_and_more",
25
- ),
26
- ("lamindb", "0040_alter_transform_type"),
27
- (
28
- "lamindb",
29
- "0041_remove_transform_short_name_transform_description_and_more",
30
- ),
31
- ("lamindb", "0042_rename_run_at_run_started_at_run_finished_at"),
32
- ("lamindb", "0043_run_json"),
33
- ("lamindb", "0044_run_replicated_outputs_transform_ulabels_and_more"),
34
- (
35
- "lamindb",
36
- "0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more",
37
- ),
38
- ("lamindb", "0046_storage_instance_uid"),
39
- ("lamindb", "0047_featurevalue_artifactfeaturevalue_and_more"),
40
- ("lamindb", "0048_alter_artifactulabel_feature_and_more"),
41
- ("lamindb", "0049_rename_type_feature_dtype_and_more"),
42
- ("lamindb", "0050_artifactfeatureset_feature_ref_is_semantic_and_more"),
43
- (
44
- "lamindb",
45
- "0051_remove_feature_feature_sets_featuresetfeature_and_more",
46
- ),
47
- (
48
- "lamindb",
49
- "0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more",
50
- ),
51
- ("lamindb", "0052_squashed"),
52
- (
53
- "lamindb",
54
- "0053_alter_featureset_hash_alter_paramvalue_created_by_and_more",
55
- ),
56
- ("lamindb", "0054_alter_feature_previous_runs_and_more"),
57
- ("lamindb", "0055_artifact_type_artifactparamvalue_and_more"),
58
- (
59
- "lamindb",
60
- "0056_rename_ulabel_ref_is_name_artifactulabel_label_ref_is_name_and_more",
61
- ),
62
- ("lamindb", "0057_link_models_latest_report_and_others"),
63
- ("lamindb", "0058_artifact__actions_collection__actions"),
64
- (
65
- "lamindb",
66
- "0059_alter_artifact__accessor_alter_artifact__hash_type_and_more",
67
- ),
68
- ("lamindb", "0060_alter_artifact__actions"),
69
- (
70
- "lamindb",
71
- "0061_alter_collection_meta_artifact_alter_run_environment_and_more",
72
- ),
73
- ("lamindb", "0062_add_is_latest_field"),
74
- ("lamindb", "0063_populate_latest_field"),
75
- (
76
- "lamindb",
77
- "0064_alter_artifact_version_alter_collection_version_and_more",
78
- ),
79
- ("lamindb", "0065_remove_collection_feature_sets_and_more"),
80
- ("lamindb", "0066_alter_artifact__feature_values_and_more"),
81
- ("lamindb", "0067_alter_featurevalue_unique_together_and_more"),
82
- ("lamindb", "0068_alter_artifactulabel_unique_together_and_more"),
83
- (
84
- "lamindb",
85
- "0069_alter_artifact__accessor_alter_artifact__hash_type_and_more",
86
- ),
87
- ]
13
+ initial = True
14
+ # replaces = [
15
+ # (
16
+ # "lamindb",
17
+ # "0037_rename_dataset_to_collection",
18
+ # ),
19
+ # (
20
+ # "lamindb",
21
+ # "0038_alter_collection_artifact_alter_collection_artifacts_and_more",
22
+ # ),
23
+ # (
24
+ # "lamindb",
25
+ # "0039_remove_collection_artifacts_collectionartifact_and_more",
26
+ # ),
27
+ # ("lamindb", "0040_alter_transform_type"),
28
+ # (
29
+ # "lamindb",
30
+ # "0041_remove_transform_short_name_transform_description_and_more",
31
+ # ),
32
+ # ("lamindb", "0042_rename_run_at_run_started_at_run_finished_at"),
33
+ # ("lamindb", "0043_run_json"),
34
+ # ("lamindb", "0044_run_replicated_outputs_transform_ulabels_and_more"),
35
+ # (
36
+ # "lamindb",
37
+ # "0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more",
38
+ # ),
39
+ # ("lamindb", "0046_storage_instance_uid"),
40
+ # ("lamindb", "0047_featurevalue_artifactfeaturevalue_and_more"),
41
+ # ("lamindb", "0048_alter_artifactulabel_feature_and_more"),
42
+ # ("lamindb", "0049_rename_type_feature_dtype_and_more"),
43
+ # ("lamindb", "0050_artifactfeatureset_feature_ref_is_semantic_and_more"),
44
+ # (
45
+ # "lamindb",
46
+ # "0051_remove_feature_feature_sets_featuresetfeature_and_more",
47
+ # ),
48
+ # (
49
+ # "lamindb",
50
+ # "0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more",
51
+ # ),
52
+ # ("lamindb", "0052_squashed"),
53
+ # (
54
+ # "lamindb",
55
+ # "0053_alter_featureset_hash_alter_paramvalue_created_by_and_more",
56
+ # ),
57
+ # ("lamindb", "0054_alter_feature_previous_runs_and_more"),
58
+ # ("lamindb", "0055_artifact_type_artifactparamvalue_and_more"),
59
+ # (
60
+ # "lamindb",
61
+ # "0056_rename_ulabel_ref_is_name_artifactulabel_label_ref_is_name_and_more",
62
+ # ),
63
+ # ("lamindb", "0057_link_models_latest_report_and_others"),
64
+ # ("lamindb", "0058_artifact__actions_collection__actions"),
65
+ # (
66
+ # "lamindb",
67
+ # "0059_alter_artifact__accessor_alter_artifact__hash_type_and_more",
68
+ # ),
69
+ # ("lamindb", "0060_alter_artifact__actions"),
70
+ # (
71
+ # "lamindb",
72
+ # "0061_alter_collection_meta_artifact_alter_run_environment_and_more",
73
+ # ),
74
+ # ("lamindb", "0062_add_is_latest_field"),
75
+ # ("lamindb", "0063_populate_latest_field"),
76
+ # (
77
+ # "lamindb",
78
+ # "0064_alter_artifact_version_alter_collection_version_and_more",
79
+ # ),
80
+ # ("lamindb", "0065_remove_collection_feature_sets_and_more"),
81
+ # ("lamindb", "0066_alter_artifact__feature_values_and_more"),
82
+ # ("lamindb", "0067_alter_featurevalue_unique_together_and_more"),
83
+ # ("lamindb", "0068_alter_artifactulabel_unique_together_and_more"),
84
+ # (
85
+ # "lamindb",
86
+ # "0069_alter_artifact__accessor_alter_artifact__hash_type_and_more",
87
+ # ),
88
+ # ]
88
89
 
89
90
  dependencies = [] # type: ignore
90
91
  operations = [
@@ -1,7 +1,6 @@
1
1
  # Generated by Django 5.2 on 2025-01-13 14:10
2
2
 
3
3
  import django.db.models.deletion
4
- import lamindb_setup
5
4
  from django.db import migrations, models
6
5
 
7
6
  import lamindb.base.fields
@@ -270,7 +269,7 @@ class Migration(migrations.Migration):
270
269
  ]
271
270
 
272
271
 
273
- if "bionty" in lamindb_setup.settings.instance.modules:
274
- Migration.dependencies += [
275
- ("bionty", "0046_alter_cellline__aux_alter_cellmarker__aux_and_more"),
276
- ]
272
+ # if "bionty" in lamindb_setup.settings.instance.modules:
273
+ # Migration.dependencies += [
274
+ # ("bionty", "0046_alter_cellline__aux_alter_cellmarker__aux_and_more"),
275
+ # ]
@@ -0,0 +1,21 @@
1
+ # Generated by Django 5.2 on 2025-01-25 08:26
2
+
3
+ from django.db import migrations
4
+
5
+ import lamindb.base.fields
6
+
7
+
8
+ class Migration(migrations.Migration):
9
+ dependencies = [
10
+ ("lamindb", "0081_revert_textfield_collection"),
11
+ ]
12
+
13
+ operations = [
14
+ migrations.AlterField(
15
+ model_name="feature",
16
+ name="dtype",
17
+ field=lamindb.base.fields.CharField(
18
+ blank=True, db_index=True, default=None, max_length=255, null=True
19
+ ),
20
+ ),
21
+ ]
@@ -0,0 +1,94 @@
1
+ # Generated by Django 5.2 on 2025-01-25 13:29
2
+
3
+ from django.db import migrations
4
+
5
+ import lamindb.base.fields
6
+
7
+
8
+ class Migration(migrations.Migration):
9
+ dependencies = [
10
+ ("lamindb", "0082_alter_feature_dtype"),
11
+ ]
12
+
13
+ operations = [
14
+ migrations.RunSQL(
15
+ sql="""
16
+ UPDATE lamindb_feature
17
+ SET is_type = FALSE
18
+ WHERE is_type IS NULL;
19
+
20
+ UPDATE lamindb_flextable
21
+ SET is_type = FALSE
22
+ WHERE is_type IS NULL;
23
+
24
+ UPDATE lamindb_param
25
+ SET is_type = FALSE
26
+ WHERE is_type IS NULL;
27
+
28
+ UPDATE lamindb_project
29
+ SET is_type = FALSE
30
+ WHERE is_type IS NULL;
31
+
32
+ UPDATE lamindb_reference
33
+ SET is_type = FALSE
34
+ WHERE is_type IS NULL;
35
+
36
+ UPDATE lamindb_schema
37
+ SET is_type = FALSE
38
+ WHERE is_type IS NULL;
39
+
40
+ UPDATE lamindb_ulabel
41
+ SET is_type = FALSE
42
+ WHERE is_type IS NULL;
43
+ """
44
+ ),
45
+ migrations.AlterField(
46
+ model_name="feature",
47
+ name="is_type",
48
+ field=lamindb.base.fields.BooleanField(
49
+ blank=True, db_index=True, default=False
50
+ ),
51
+ ),
52
+ migrations.AlterField(
53
+ model_name="flextable",
54
+ name="is_type",
55
+ field=lamindb.base.fields.BooleanField(
56
+ blank=True, db_index=True, default=False
57
+ ),
58
+ ),
59
+ migrations.AlterField(
60
+ model_name="param",
61
+ name="is_type",
62
+ field=lamindb.base.fields.BooleanField(
63
+ blank=True, db_index=True, default=False
64
+ ),
65
+ ),
66
+ migrations.AlterField(
67
+ model_name="project",
68
+ name="is_type",
69
+ field=lamindb.base.fields.BooleanField(
70
+ blank=True, db_index=True, default=False
71
+ ),
72
+ ),
73
+ migrations.AlterField(
74
+ model_name="reference",
75
+ name="is_type",
76
+ field=lamindb.base.fields.BooleanField(
77
+ blank=True, db_index=True, default=False
78
+ ),
79
+ ),
80
+ migrations.AlterField(
81
+ model_name="schema",
82
+ name="is_type",
83
+ field=lamindb.base.fields.BooleanField(
84
+ blank=True, db_index=True, default=False
85
+ ),
86
+ ),
87
+ migrations.AlterField(
88
+ model_name="ulabel",
89
+ name="is_type",
90
+ field=lamindb.base.fields.BooleanField(
91
+ blank=True, db_index=True, default=False
92
+ ),
93
+ ),
94
+ ]
@@ -0,0 +1,35 @@
1
+ # Generated by Django 5.2 on 2025-01-27 07:22
2
+
3
+ import django.db.models.deletion
4
+ from django.db import migrations
5
+
6
+ import lamindb.base.fields
7
+
8
+
9
+ class Migration(migrations.Migration):
10
+ dependencies = [
11
+ ("lamindb", "0083_alter_feature_is_type_alter_flextable_is_type_and_more"),
12
+ ]
13
+
14
+ operations = [
15
+ migrations.AlterField(
16
+ model_name="schemafeature",
17
+ name="feature",
18
+ field=lamindb.base.fields.ForeignKey(
19
+ blank=True,
20
+ on_delete=django.db.models.deletion.PROTECT,
21
+ related_name="links_schema",
22
+ to="lamindb.feature",
23
+ ),
24
+ ),
25
+ migrations.AlterField(
26
+ model_name="schemafeature",
27
+ name="schema",
28
+ field=lamindb.base.fields.ForeignKey(
29
+ blank=True,
30
+ on_delete=django.db.models.deletion.CASCADE,
31
+ related_name="links_feature",
32
+ to="lamindb.schema",
33
+ ),
34
+ ),
35
+ ]
@@ -0,0 +1,63 @@
1
+ # Generated by Django 5.2 on 2025-01-27 13:48
2
+
3
+ from django.db import migrations
4
+
5
+ import lamindb.base.fields
6
+
7
+
8
+ class Migration(migrations.Migration):
9
+ dependencies = [
10
+ ("lamindb", "0084_alter_schemafeature_feature_and_more"),
11
+ ]
12
+
13
+ operations = [
14
+ migrations.AlterField(
15
+ model_name="feature",
16
+ name="is_type",
17
+ field=lamindb.base.fields.BooleanField(
18
+ blank=True, db_index=True, default=False, null=True
19
+ ),
20
+ ),
21
+ migrations.AlterField(
22
+ model_name="flextable",
23
+ name="is_type",
24
+ field=lamindb.base.fields.BooleanField(
25
+ blank=True, db_index=True, default=False, null=True
26
+ ),
27
+ ),
28
+ migrations.AlterField(
29
+ model_name="param",
30
+ name="is_type",
31
+ field=lamindb.base.fields.BooleanField(
32
+ blank=True, db_index=True, default=False, null=True
33
+ ),
34
+ ),
35
+ migrations.AlterField(
36
+ model_name="project",
37
+ name="is_type",
38
+ field=lamindb.base.fields.BooleanField(
39
+ blank=True, db_index=True, default=False, null=True
40
+ ),
41
+ ),
42
+ migrations.AlterField(
43
+ model_name="reference",
44
+ name="is_type",
45
+ field=lamindb.base.fields.BooleanField(
46
+ blank=True, db_index=True, default=False, null=True
47
+ ),
48
+ ),
49
+ migrations.AlterField(
50
+ model_name="schema",
51
+ name="is_type",
52
+ field=lamindb.base.fields.BooleanField(
53
+ blank=True, db_index=True, default=False, null=True
54
+ ),
55
+ ),
56
+ migrations.AlterField(
57
+ model_name="ulabel",
58
+ name="is_type",
59
+ field=lamindb.base.fields.BooleanField(
60
+ blank=True, db_index=True, default=False, null=True
61
+ ),
62
+ ),
63
+ ]