lamindb 1.5.2__py3-none-any.whl → 1.6a2__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 (66) hide show
  1. lamindb/__init__.py +24 -6
  2. lamindb/_finish.py +5 -5
  3. lamindb/_tracked.py +1 -1
  4. lamindb/_view.py +4 -4
  5. lamindb/core/_context.py +32 -6
  6. lamindb/core/_settings.py +1 -1
  7. lamindb/core/datasets/mini_immuno.py +8 -0
  8. lamindb/core/loaders.py +1 -1
  9. lamindb/core/storage/_anndata_accessor.py +9 -9
  10. lamindb/core/storage/_valid_suffixes.py +1 -0
  11. lamindb/core/storage/_zarr.py +32 -107
  12. lamindb/curators/__init__.py +19 -2
  13. lamindb/curators/_cellxgene_schemas/__init__.py +3 -3
  14. lamindb/curators/_legacy.py +15 -19
  15. lamindb/curators/core.py +247 -80
  16. lamindb/errors.py +2 -2
  17. lamindb/migrations/0069_squashed.py +8 -8
  18. lamindb/migrations/0071_lamindbv1_migrate_schema.py +3 -3
  19. lamindb/migrations/0073_merge_ourprojects.py +7 -7
  20. lamindb/migrations/0075_lamindbv1_part5.py +1 -1
  21. lamindb/migrations/0077_lamindbv1_part6b.py +3 -3
  22. lamindb/migrations/0080_polish_lamindbv1.py +2 -2
  23. lamindb/migrations/0088_schema_components.py +1 -1
  24. lamindb/migrations/0090_runproject_project_runs.py +2 -2
  25. lamindb/migrations/0091_alter_featurevalue_options_alter_space_options_and_more.py +1 -1
  26. lamindb/migrations/0094_writeloglock_writelogmigrationstate_and_more.py +84 -0
  27. lamindb/migrations/0095_remove_rundata_flextable.py +155 -0
  28. lamindb/migrations/0096_remove_artifact__param_values_and_more.py +266 -0
  29. lamindb/migrations/0097_remove_schemaparam_param_remove_paramvalue_param_and_more.py +27 -0
  30. lamindb/migrations/0098_alter_feature_type_alter_project_type_and_more.py +656 -0
  31. lamindb/migrations/0099_alter_writelog_seqno.py +22 -0
  32. lamindb/migrations/0100_branch_alter_artifact__branch_code_and_more.py +102 -0
  33. lamindb/migrations/0101_alter_artifact_hash_alter_feature_name_and_more.py +444 -0
  34. lamindb/migrations/0102_remove_writelog_branch_code_and_more.py +72 -0
  35. lamindb/migrations/0103_remove_writelog_migration_state_and_more.py +46 -0
  36. lamindb/migrations/{0090_squashed.py → 0103_squashed.py} +1013 -1009
  37. lamindb/models/__init__.py +35 -18
  38. lamindb/models/_describe.py +4 -4
  39. lamindb/models/_django.py +38 -4
  40. lamindb/models/_feature_manager.py +66 -123
  41. lamindb/models/_from_values.py +13 -13
  42. lamindb/models/_label_manager.py +8 -6
  43. lamindb/models/_relations.py +7 -7
  44. lamindb/models/artifact.py +166 -156
  45. lamindb/models/can_curate.py +25 -25
  46. lamindb/models/collection.py +48 -18
  47. lamindb/models/core.py +3 -3
  48. lamindb/models/feature.py +88 -60
  49. lamindb/models/has_parents.py +17 -17
  50. lamindb/models/project.py +52 -24
  51. lamindb/models/query_manager.py +5 -5
  52. lamindb/models/query_set.py +61 -37
  53. lamindb/models/record.py +158 -1583
  54. lamindb/models/run.py +39 -176
  55. lamindb/models/save.py +6 -6
  56. lamindb/models/schema.py +33 -44
  57. lamindb/models/sqlrecord.py +1743 -0
  58. lamindb/models/transform.py +17 -33
  59. lamindb/models/ulabel.py +21 -15
  60. {lamindb-1.5.2.dist-info → lamindb-1.6a2.dist-info}/METADATA +7 -11
  61. lamindb-1.6a2.dist-info/RECORD +118 -0
  62. lamindb/core/storage/_anndata_sizes.py +0 -41
  63. lamindb/models/flextable.py +0 -163
  64. lamindb-1.5.2.dist-info/RECORD +0 -109
  65. {lamindb-1.5.2.dist-info → lamindb-1.6a2.dist-info}/LICENSE +0 -0
  66. {lamindb-1.5.2.dist-info → lamindb-1.6a2.dist-info}/WHEEL +0 -0
@@ -0,0 +1,102 @@
1
+ # Generated by Django 5.2 on 2025-05-25 11:59
2
+
3
+ import django.db.models.deletion
4
+ import django.db.models.functions.datetime
5
+ from django.db import migrations, models
6
+
7
+ import lamindb.base.fields
8
+
9
+
10
+ def update_space_uids_and_create_branches(apps, schema_editor):
11
+ Space = apps.get_model("lamindb", "Space")
12
+ Space.objects.filter(uid="00000000").update(uid="A")
13
+ Branch = apps.get_model("lamindb", "Branch")
14
+ Branch.objects.get_or_create(
15
+ id=-1,
16
+ uid="T",
17
+ name="Trash",
18
+ description="The trash.",
19
+ )
20
+ Branch.objects.get_or_create(
21
+ id=0,
22
+ uid="A",
23
+ name="Archive",
24
+ description="The archive.",
25
+ )
26
+ Branch.objects.get_or_create(
27
+ uid="M",
28
+ name="Main",
29
+ description="The main & default branch of the instance.",
30
+ )
31
+
32
+
33
+ class Migration(migrations.Migration):
34
+ dependencies = [
35
+ ("lamindb", "0099_alter_writelog_seqno"),
36
+ ]
37
+
38
+ operations = [
39
+ migrations.CreateModel(
40
+ name="Branch",
41
+ fields=[
42
+ ("id", models.AutoField(primary_key=True, serialize=False)),
43
+ ("name", models.CharField(db_index=True, max_length=100)),
44
+ (
45
+ "uid",
46
+ lamindb.base.fields.CharField(
47
+ blank=True,
48
+ db_default="M",
49
+ db_index=True,
50
+ default="M",
51
+ editable=False,
52
+ max_length=12,
53
+ unique=True,
54
+ ),
55
+ ),
56
+ (
57
+ "description",
58
+ lamindb.base.fields.CharField(
59
+ blank=True, default=None, max_length=255, null=True
60
+ ),
61
+ ),
62
+ (
63
+ "created_at",
64
+ lamindb.base.fields.DateTimeField(
65
+ blank=True,
66
+ db_default=django.db.models.functions.datetime.Now(),
67
+ db_index=True,
68
+ editable=False,
69
+ ),
70
+ ),
71
+ (
72
+ "created_by",
73
+ lamindb.base.fields.ForeignKey(
74
+ blank=True,
75
+ default=None,
76
+ null=True,
77
+ on_delete=django.db.models.deletion.CASCADE,
78
+ related_name="+",
79
+ to="lamindb.user",
80
+ ),
81
+ ),
82
+ ],
83
+ options={
84
+ "abstract": False,
85
+ "base_manager_name": "objects",
86
+ },
87
+ ),
88
+ migrations.AlterField(
89
+ model_name="space",
90
+ name="uid",
91
+ field=lamindb.base.fields.CharField(
92
+ blank=True,
93
+ db_default="A",
94
+ db_index=True,
95
+ default="A",
96
+ editable=False,
97
+ max_length=12,
98
+ unique=True,
99
+ ),
100
+ ),
101
+ migrations.RunPython(update_space_uids_and_create_branches),
102
+ ]
@@ -0,0 +1,444 @@
1
+ # Generated by Django 5.2 on 2025-05-26 09:33
2
+
3
+ import django.db.models.deletion
4
+ from django.db import migrations, models
5
+ from lamindb_setup.core.hashing import hash_dict, hash_string
6
+
7
+ import lamindb.base.fields
8
+
9
+
10
+ def populate_hash_values(apps, schema_editor):
11
+ FeatureValue = apps.get_model("lamindb", "FeatureValue")
12
+
13
+ # Get records that need updating
14
+ records_to_update = FeatureValue.objects.filter(hash__isnull=True)
15
+
16
+ print(
17
+ f"\nFound {records_to_update.count()} FeatureValue records with hash=None. Populating..."
18
+ )
19
+
20
+ updated_count = 0
21
+ skipped_count = 0
22
+
23
+ # Iterate efficiently through records
24
+ for record in records_to_update.iterator():
25
+ value = record.value
26
+ new_hash = None
27
+
28
+ if not isinstance(value, dict):
29
+ new_hash = hash_string(str(value))
30
+ else:
31
+ new_hash = hash_dict(value)
32
+
33
+ try:
34
+ record.hash = new_hash
35
+ record.save(update_fields=["hash"])
36
+ updated_count += 1
37
+ except Exception as e:
38
+ # This will likely catch IntegrityError if a duplicate hash exists
39
+ # for the same feature. You might want to log these or handle them
40
+ # based on your data cleanup strategy.
41
+ print(
42
+ f" - Could not update record {record.id} (value: {str(value)[:50]}...): {e}"
43
+ )
44
+ skipped_count += 1
45
+
46
+ print(f"Finished. Updated: {updated_count}, Skipped/Errors: {skipped_count}.")
47
+
48
+
49
+ class Migration(migrations.Migration):
50
+ dependencies = [
51
+ ("lamindb", "0100_branch_alter_artifact__branch_code_and_more"),
52
+ ]
53
+
54
+ operations = [
55
+ migrations.AlterField(
56
+ model_name="artifact",
57
+ name="_branch_code",
58
+ field=lamindb.base.fields.ForeignKey(
59
+ blank=True,
60
+ db_column="_branch_code",
61
+ db_default=1,
62
+ default=1,
63
+ on_delete=django.db.models.deletion.PROTECT,
64
+ to="lamindb.branch",
65
+ ),
66
+ ),
67
+ migrations.AlterField(
68
+ model_name="collection",
69
+ name="_branch_code",
70
+ field=lamindb.base.fields.ForeignKey(
71
+ blank=True,
72
+ db_column="_branch_code",
73
+ db_default=1,
74
+ default=1,
75
+ on_delete=django.db.models.deletion.PROTECT,
76
+ to="lamindb.branch",
77
+ ),
78
+ ),
79
+ migrations.AlterField(
80
+ model_name="feature",
81
+ name="_branch_code",
82
+ field=lamindb.base.fields.ForeignKey(
83
+ blank=True,
84
+ db_column="_branch_code",
85
+ db_default=1,
86
+ default=1,
87
+ on_delete=django.db.models.deletion.PROTECT,
88
+ to="lamindb.branch",
89
+ ),
90
+ ),
91
+ migrations.AlterField(
92
+ model_name="featurevalue",
93
+ name="_branch_code",
94
+ field=lamindb.base.fields.ForeignKey(
95
+ blank=True,
96
+ db_column="_branch_code",
97
+ db_default=1,
98
+ default=1,
99
+ on_delete=django.db.models.deletion.PROTECT,
100
+ to="lamindb.branch",
101
+ ),
102
+ ),
103
+ migrations.AlterField(
104
+ model_name="person",
105
+ name="_branch_code",
106
+ field=lamindb.base.fields.ForeignKey(
107
+ blank=True,
108
+ db_column="_branch_code",
109
+ db_default=1,
110
+ default=1,
111
+ on_delete=django.db.models.deletion.PROTECT,
112
+ to="lamindb.branch",
113
+ ),
114
+ ),
115
+ migrations.AlterField(
116
+ model_name="project",
117
+ name="_branch_code",
118
+ field=lamindb.base.fields.ForeignKey(
119
+ blank=True,
120
+ db_column="_branch_code",
121
+ db_default=1,
122
+ default=1,
123
+ on_delete=django.db.models.deletion.PROTECT,
124
+ to="lamindb.branch",
125
+ ),
126
+ ),
127
+ migrations.AlterField(
128
+ model_name="record",
129
+ name="_branch_code",
130
+ field=lamindb.base.fields.ForeignKey(
131
+ blank=True,
132
+ db_column="_branch_code",
133
+ db_default=1,
134
+ default=1,
135
+ on_delete=django.db.models.deletion.PROTECT,
136
+ to="lamindb.branch",
137
+ ),
138
+ ),
139
+ migrations.AlterField(
140
+ model_name="recordrecord",
141
+ name="_branch_code",
142
+ field=lamindb.base.fields.ForeignKey(
143
+ blank=True,
144
+ db_column="_branch_code",
145
+ db_default=1,
146
+ default=1,
147
+ on_delete=django.db.models.deletion.PROTECT,
148
+ to="lamindb.branch",
149
+ ),
150
+ ),
151
+ migrations.AlterField(
152
+ model_name="reference",
153
+ name="_branch_code",
154
+ field=lamindb.base.fields.ForeignKey(
155
+ blank=True,
156
+ db_column="_branch_code",
157
+ db_default=1,
158
+ default=1,
159
+ on_delete=django.db.models.deletion.PROTECT,
160
+ to="lamindb.branch",
161
+ ),
162
+ ),
163
+ migrations.AlterField(
164
+ model_name="run",
165
+ name="_branch_code",
166
+ field=lamindb.base.fields.ForeignKey(
167
+ blank=True,
168
+ db_column="_branch_code",
169
+ db_default=1,
170
+ default=1,
171
+ on_delete=django.db.models.deletion.PROTECT,
172
+ to="lamindb.branch",
173
+ ),
174
+ ),
175
+ migrations.AlterField(
176
+ model_name="schema",
177
+ name="_branch_code",
178
+ field=lamindb.base.fields.ForeignKey(
179
+ blank=True,
180
+ db_column="_branch_code",
181
+ db_default=1,
182
+ default=1,
183
+ on_delete=django.db.models.deletion.PROTECT,
184
+ to="lamindb.branch",
185
+ ),
186
+ ),
187
+ migrations.AlterField(
188
+ model_name="sheet",
189
+ name="_branch_code",
190
+ field=lamindb.base.fields.ForeignKey(
191
+ blank=True,
192
+ db_column="_branch_code",
193
+ db_default=1,
194
+ default=1,
195
+ on_delete=django.db.models.deletion.PROTECT,
196
+ to="lamindb.branch",
197
+ ),
198
+ ),
199
+ migrations.AlterField(
200
+ model_name="storage",
201
+ name="_branch_code",
202
+ field=lamindb.base.fields.ForeignKey(
203
+ blank=True,
204
+ db_column="_branch_code",
205
+ db_default=1,
206
+ default=1,
207
+ on_delete=django.db.models.deletion.PROTECT,
208
+ to="lamindb.branch",
209
+ ),
210
+ ),
211
+ migrations.AlterField(
212
+ model_name="transform",
213
+ name="_branch_code",
214
+ field=lamindb.base.fields.ForeignKey(
215
+ blank=True,
216
+ db_column="_branch_code",
217
+ db_default=1,
218
+ default=1,
219
+ on_delete=django.db.models.deletion.PROTECT,
220
+ to="lamindb.branch",
221
+ ),
222
+ ),
223
+ migrations.AlterField(
224
+ model_name="ulabel",
225
+ name="_branch_code",
226
+ field=lamindb.base.fields.ForeignKey(
227
+ blank=True,
228
+ db_column="_branch_code",
229
+ db_default=1,
230
+ default=1,
231
+ on_delete=django.db.models.deletion.PROTECT,
232
+ to="lamindb.branch",
233
+ ),
234
+ ),
235
+ migrations.RenameField(
236
+ model_name="artifact",
237
+ old_name="_branch_code",
238
+ new_name="branch",
239
+ ),
240
+ migrations.RenameField(
241
+ model_name="collection",
242
+ old_name="_branch_code",
243
+ new_name="branch",
244
+ ),
245
+ migrations.RenameField(
246
+ model_name="feature",
247
+ old_name="_branch_code",
248
+ new_name="branch",
249
+ ),
250
+ migrations.RenameField(
251
+ model_name="featurevalue",
252
+ old_name="_branch_code",
253
+ new_name="branch",
254
+ ),
255
+ migrations.RenameField(
256
+ model_name="person",
257
+ old_name="_branch_code",
258
+ new_name="branch",
259
+ ),
260
+ migrations.RenameField(
261
+ model_name="project",
262
+ old_name="_branch_code",
263
+ new_name="branch",
264
+ ),
265
+ migrations.RenameField(
266
+ model_name="record",
267
+ old_name="_branch_code",
268
+ new_name="branch",
269
+ ),
270
+ migrations.RenameField(
271
+ model_name="recordrecord",
272
+ old_name="_branch_code",
273
+ new_name="branch",
274
+ ),
275
+ migrations.RenameField(
276
+ model_name="reference",
277
+ old_name="_branch_code",
278
+ new_name="branch",
279
+ ),
280
+ migrations.RenameField(
281
+ model_name="run",
282
+ old_name="_branch_code",
283
+ new_name="branch",
284
+ ),
285
+ migrations.RenameField(
286
+ model_name="schema",
287
+ old_name="_branch_code",
288
+ new_name="branch",
289
+ ),
290
+ migrations.RenameField(
291
+ model_name="sheet",
292
+ old_name="_branch_code",
293
+ new_name="branch",
294
+ ),
295
+ migrations.RenameField(
296
+ model_name="storage",
297
+ old_name="_branch_code",
298
+ new_name="branch",
299
+ ),
300
+ migrations.RenameField(
301
+ model_name="transform",
302
+ old_name="_branch_code",
303
+ new_name="branch",
304
+ ),
305
+ migrations.RenameField(
306
+ model_name="ulabel",
307
+ old_name="_branch_code",
308
+ new_name="branch",
309
+ ),
310
+ migrations.AlterField(
311
+ model_name="artifact",
312
+ name="hash",
313
+ field=lamindb.base.fields.CharField(
314
+ blank=True,
315
+ db_index=True,
316
+ default=None,
317
+ editable=False,
318
+ max_length=22,
319
+ null=True,
320
+ ),
321
+ ),
322
+ migrations.AlterField(
323
+ model_name="feature",
324
+ name="name",
325
+ field=lamindb.base.fields.CharField(
326
+ blank=True, db_index=True, default=None, max_length=150
327
+ ),
328
+ ),
329
+ migrations.AlterField(
330
+ model_name="feature",
331
+ name="type",
332
+ field=lamindb.base.fields.ForeignKey(
333
+ blank=True,
334
+ null=True,
335
+ on_delete=django.db.models.deletion.PROTECT,
336
+ related_name="features",
337
+ to="lamindb.feature",
338
+ ),
339
+ ),
340
+ migrations.AlterField(
341
+ model_name="project",
342
+ name="type",
343
+ field=lamindb.base.fields.ForeignKey(
344
+ blank=True,
345
+ null=True,
346
+ on_delete=django.db.models.deletion.PROTECT,
347
+ related_name="projects",
348
+ to="lamindb.project",
349
+ ),
350
+ ),
351
+ migrations.AlterField(
352
+ model_name="record",
353
+ name="type",
354
+ field=lamindb.base.fields.ForeignKey(
355
+ blank=True,
356
+ null=True,
357
+ on_delete=django.db.models.deletion.PROTECT,
358
+ related_name="records",
359
+ to="lamindb.record",
360
+ ),
361
+ ),
362
+ migrations.AlterField(
363
+ model_name="reference",
364
+ name="type",
365
+ field=lamindb.base.fields.ForeignKey(
366
+ blank=True,
367
+ null=True,
368
+ on_delete=django.db.models.deletion.PROTECT,
369
+ related_name="references",
370
+ to="lamindb.reference",
371
+ ),
372
+ ),
373
+ migrations.AlterField(
374
+ model_name="schema",
375
+ name="type",
376
+ field=lamindb.base.fields.ForeignKey(
377
+ blank=True,
378
+ null=True,
379
+ on_delete=django.db.models.deletion.PROTECT,
380
+ related_name="schemas",
381
+ to="lamindb.schema",
382
+ ),
383
+ ),
384
+ migrations.AlterField(
385
+ model_name="transform",
386
+ name="hash",
387
+ field=lamindb.base.fields.CharField(
388
+ blank=True, db_index=True, default=None, max_length=22, null=True
389
+ ),
390
+ ),
391
+ migrations.AlterField(
392
+ model_name="ulabel",
393
+ name="type",
394
+ field=lamindb.base.fields.ForeignKey(
395
+ blank=True,
396
+ null=True,
397
+ on_delete=django.db.models.deletion.PROTECT,
398
+ related_name="ulabels",
399
+ to="lamindb.ulabel",
400
+ ),
401
+ ),
402
+ migrations.AlterUniqueTogether(
403
+ name="transform",
404
+ unique_together={("key", "hash")},
405
+ ),
406
+ migrations.AddConstraint(
407
+ model_name="artifact",
408
+ constraint=models.UniqueConstraint(
409
+ condition=models.Q(("key__isnull", False)),
410
+ fields=("storage", "key", "hash"),
411
+ name="unique_artifact_storage_key_hash",
412
+ ),
413
+ ),
414
+ migrations.AlterField(
415
+ model_name="feature",
416
+ name="_expect_many",
417
+ field=models.BooleanField(db_default=None, default=None, null=True),
418
+ ),
419
+ migrations.AlterField(
420
+ model_name="run",
421
+ name="uid",
422
+ field=lamindb.base.fields.CharField(
423
+ blank=True,
424
+ db_index=True,
425
+ default=lamindb.base.uids.base62_16,
426
+ editable=False,
427
+ max_length=20,
428
+ unique=True,
429
+ ),
430
+ ),
431
+ migrations.RemoveConstraint(
432
+ model_name="featurevalue",
433
+ name="unique_simple_feature_value",
434
+ ),
435
+ migrations.RemoveConstraint(
436
+ model_name="featurevalue",
437
+ name="unique_complex_feature_value",
438
+ ),
439
+ migrations.AlterUniqueTogether(
440
+ name="featurevalue",
441
+ unique_together={("feature", "hash")},
442
+ ),
443
+ migrations.RunPython(populate_hash_values),
444
+ ]
@@ -0,0 +1,72 @@
1
+ # Generated by Django 5.2 on 2025-05-27 11:29
2
+
3
+ import django.db.models.deletion
4
+ from django.db import migrations, models
5
+
6
+
7
+ class Migration(migrations.Migration):
8
+ dependencies = [
9
+ ("lamindb", "0101_alter_artifact_hash_alter_feature_name_and_more"),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.RemoveField(
14
+ model_name="writelog",
15
+ name="branch_code",
16
+ ),
17
+ migrations.RemoveField(
18
+ model_name="writelog",
19
+ name="space_uid",
20
+ ),
21
+ migrations.AddField(
22
+ model_name="writelog",
23
+ name="branch",
24
+ field=models.ForeignKey(
25
+ default=1,
26
+ on_delete=django.db.models.deletion.PROTECT,
27
+ to="lamindb.branch",
28
+ ),
29
+ ),
30
+ migrations.AddField(
31
+ model_name="writelog",
32
+ name="space",
33
+ field=models.ForeignKey(
34
+ default=1,
35
+ on_delete=django.db.models.deletion.PROTECT,
36
+ to="lamindb.space",
37
+ ),
38
+ ),
39
+ migrations.AlterField(
40
+ model_name="writelog",
41
+ name="run_uid",
42
+ field=models.CharField(default="0000000000000000", max_length=20),
43
+ ),
44
+ migrations.AlterField(
45
+ model_name="writelog",
46
+ name="record_uid",
47
+ field=models.JSONField(db_index=True, default=0),
48
+ preserve_default=False,
49
+ ),
50
+ migrations.AlterModelOptions(
51
+ name="migrationstate",
52
+ options={"base_manager_name": "objects"},
53
+ ),
54
+ migrations.AlterModelOptions(
55
+ name="tablestate",
56
+ options={"base_manager_name": "objects"},
57
+ ),
58
+ migrations.AlterField(
59
+ model_name="writelog",
60
+ name="migration_state",
61
+ field=models.ForeignKey(
62
+ on_delete=django.db.models.deletion.PROTECT, to="lamindb.migrationstate"
63
+ ),
64
+ ),
65
+ migrations.AlterField(
66
+ model_name="writelog",
67
+ name="table",
68
+ field=models.ForeignKey(
69
+ on_delete=django.db.models.deletion.PROTECT, to="lamindb.tablestate"
70
+ ),
71
+ ),
72
+ ]
@@ -0,0 +1,46 @@
1
+ # Generated by Django 5.2 on 2025-05-29 12:02
2
+
3
+ from django.db import migrations
4
+
5
+
6
+ def fix_artifact_kind(apps, schema_editor):
7
+ Artifact = apps.get_model("lamindb", "Artifact")
8
+ Artifact.objects.filter(kind="__lamindb__").update(kind="__lamindb__run__")
9
+
10
+
11
+ class Migration(migrations.Migration):
12
+ dependencies = [
13
+ ("lamindb", "0102_remove_writelog_branch_code_and_more"),
14
+ ]
15
+
16
+ operations = [
17
+ migrations.RunPython(fix_artifact_kind),
18
+ migrations.RemoveField(
19
+ model_name="writelog",
20
+ name="migration_state",
21
+ ),
22
+ migrations.RemoveField(
23
+ model_name="writelog",
24
+ name="table",
25
+ ),
26
+ migrations.RemoveField(
27
+ model_name="writelog",
28
+ name="branch",
29
+ ),
30
+ migrations.RemoveField(
31
+ model_name="writelog",
32
+ name="space",
33
+ ),
34
+ migrations.DeleteModel(
35
+ name="WriteLogLock",
36
+ ),
37
+ migrations.DeleteModel(
38
+ name="MigrationState",
39
+ ),
40
+ migrations.DeleteModel(
41
+ name="TableState",
42
+ ),
43
+ migrations.DeleteModel(
44
+ name="WriteLog",
45
+ ),
46
+ ]