lamindb 0.77.2__py3-none-any.whl → 1.0rc1__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 (89) hide show
  1. lamindb/__init__.py +39 -32
  2. lamindb/_artifact.py +95 -64
  3. lamindb/_can_curate.py +19 -10
  4. lamindb/_collection.py +51 -49
  5. lamindb/_feature.py +9 -9
  6. lamindb/_finish.py +99 -86
  7. lamindb/_from_values.py +20 -17
  8. lamindb/_is_versioned.py +2 -1
  9. lamindb/_parents.py +23 -16
  10. lamindb/_query_manager.py +3 -3
  11. lamindb/_query_set.py +85 -18
  12. lamindb/_record.py +121 -46
  13. lamindb/_run.py +3 -3
  14. lamindb/_save.py +14 -8
  15. lamindb/{_feature_set.py → _schema.py} +34 -31
  16. lamindb/_storage.py +2 -1
  17. lamindb/_transform.py +51 -23
  18. lamindb/_ulabel.py +17 -8
  19. lamindb/_view.py +15 -14
  20. lamindb/base/__init__.py +24 -0
  21. lamindb/base/fields.py +281 -0
  22. lamindb/base/ids.py +103 -0
  23. lamindb/base/types.py +51 -0
  24. lamindb/base/users.py +30 -0
  25. lamindb/base/validation.py +67 -0
  26. lamindb/core/__init__.py +19 -14
  27. lamindb/core/_context.py +297 -228
  28. lamindb/core/_data.py +44 -49
  29. lamindb/core/_describe.py +41 -31
  30. lamindb/core/_django.py +59 -44
  31. lamindb/core/_feature_manager.py +192 -168
  32. lamindb/core/_label_manager.py +22 -22
  33. lamindb/core/_mapped_collection.py +17 -14
  34. lamindb/core/_settings.py +1 -12
  35. lamindb/core/_sync_git.py +56 -9
  36. lamindb/core/_track_environment.py +1 -1
  37. lamindb/core/datasets/_core.py +5 -6
  38. lamindb/core/exceptions.py +0 -7
  39. lamindb/core/fields.py +1 -1
  40. lamindb/core/loaders.py +18 -2
  41. lamindb/core/{schema.py → relations.py} +22 -19
  42. lamindb/core/storage/_anndata_accessor.py +1 -2
  43. lamindb/core/storage/_backed_access.py +2 -1
  44. lamindb/core/storage/_tiledbsoma.py +40 -13
  45. lamindb/core/storage/objects.py +1 -1
  46. lamindb/core/storage/paths.py +13 -8
  47. lamindb/core/subsettings/__init__.py +0 -2
  48. lamindb/core/types.py +2 -23
  49. lamindb/core/versioning.py +11 -7
  50. lamindb/{_curate.py → curators/__init__.py} +700 -57
  51. lamindb/curators/_spatial.py +528 -0
  52. lamindb/integrations/_vitessce.py +1 -3
  53. lamindb/migrations/0052_squashed.py +1261 -0
  54. lamindb/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +57 -0
  55. lamindb/migrations/0054_alter_feature_previous_runs_and_more.py +35 -0
  56. lamindb/migrations/0055_artifact_type_artifactparamvalue_and_more.py +61 -0
  57. lamindb/migrations/0056_rename_ulabel_ref_is_name_artifactulabel_label_ref_is_name_and_more.py +22 -0
  58. lamindb/migrations/0057_link_models_latest_report_and_others.py +356 -0
  59. lamindb/migrations/0058_artifact__actions_collection__actions.py +22 -0
  60. lamindb/migrations/0059_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +31 -0
  61. lamindb/migrations/0060_alter_artifact__actions.py +22 -0
  62. lamindb/migrations/0061_alter_collection_meta_artifact_alter_run_environment_and_more.py +45 -0
  63. lamindb/migrations/0062_add_is_latest_field.py +32 -0
  64. lamindb/migrations/0063_populate_latest_field.py +45 -0
  65. lamindb/migrations/0064_alter_artifact_version_alter_collection_version_and_more.py +33 -0
  66. lamindb/migrations/0065_remove_collection_feature_sets_and_more.py +22 -0
  67. lamindb/migrations/0066_alter_artifact__feature_values_and_more.py +352 -0
  68. lamindb/migrations/0067_alter_featurevalue_unique_together_and_more.py +20 -0
  69. lamindb/migrations/0068_alter_artifactulabel_unique_together_and_more.py +20 -0
  70. lamindb/migrations/0069_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +1294 -0
  71. lamindb/migrations/0069_squashed.py +1770 -0
  72. lamindb/migrations/0070_lamindbv1_migrate_data.py +78 -0
  73. lamindb/migrations/0071_lamindbv1_migrate_schema.py +741 -0
  74. lamindb/migrations/0072_remove_user__branch_code_remove_user_aux_and_more.py +148 -0
  75. lamindb/migrations/0073_merge_ourprojects.py +945 -0
  76. lamindb/migrations/0074_lamindbv1_part4.py +374 -0
  77. lamindb/migrations/0075_lamindbv1_part5.py +276 -0
  78. lamindb/migrations/0076_lamindbv1_part6.py +621 -0
  79. lamindb/migrations/0077_lamindbv1_part6b.py +228 -0
  80. lamindb/migrations/0078_lamindbv1_part6c.py +468 -0
  81. lamindb/migrations/0079_alter_rundata_value_json_and_more.py +36 -0
  82. lamindb/migrations/__init__.py +0 -0
  83. lamindb/models.py +4064 -0
  84. {lamindb-0.77.2.dist-info → lamindb-1.0rc1.dist-info}/METADATA +15 -20
  85. lamindb-1.0rc1.dist-info/RECORD +100 -0
  86. {lamindb-0.77.2.dist-info → lamindb-1.0rc1.dist-info}/WHEEL +1 -1
  87. lamindb/core/subsettings/_transform_settings.py +0 -21
  88. lamindb-0.77.2.dist-info/RECORD +0 -63
  89. {lamindb-0.77.2.dist-info → lamindb-1.0rc1.dist-info}/LICENSE +0 -0
@@ -0,0 +1,1770 @@
1
+ # Generated by Django 5.2 on 2024-11-15 15:48
2
+
3
+ import django.db.models.deletion
4
+ from django.db import migrations, models
5
+
6
+ import lamindb.base.fields
7
+ import lamindb.base.ids
8
+ import lamindb.base.users
9
+ import lamindb.models
10
+
11
+
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
+ ]
88
+
89
+ dependencies = [] # type: ignore
90
+ operations = [
91
+ migrations.CreateModel(
92
+ name="Feature",
93
+ fields=[
94
+ (
95
+ "created_at",
96
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
97
+ ),
98
+ (
99
+ "updated_at",
100
+ lamindb.base.fields.DateTimeField(auto_now=True, db_index=True),
101
+ ),
102
+ ("id", models.AutoField(primary_key=True, serialize=False)),
103
+ (
104
+ "uid",
105
+ lamindb.base.fields.CharField(
106
+ blank=True,
107
+ db_index=True,
108
+ default=lamindb.base.ids.base62_12,
109
+ max_length=12,
110
+ unique=True,
111
+ ),
112
+ ),
113
+ (
114
+ "name",
115
+ lamindb.base.fields.CharField(
116
+ blank=True,
117
+ db_index=True,
118
+ default=None,
119
+ max_length=150,
120
+ unique=True,
121
+ ),
122
+ ),
123
+ (
124
+ "dtype",
125
+ lamindb.base.fields.CharField(
126
+ blank=True, db_index=True, default=None, max_length=64
127
+ ),
128
+ ),
129
+ (
130
+ "unit",
131
+ lamindb.base.fields.CharField(
132
+ blank=True,
133
+ db_index=True,
134
+ default=None,
135
+ max_length=30,
136
+ null=True,
137
+ ),
138
+ ),
139
+ (
140
+ "description",
141
+ lamindb.base.fields.TextField(
142
+ blank=True, db_index=True, default=None, null=True
143
+ ),
144
+ ),
145
+ (
146
+ "synonyms",
147
+ lamindb.base.fields.TextField(blank=True, default=None, null=True),
148
+ ),
149
+ ],
150
+ options={
151
+ "abstract": False,
152
+ },
153
+ bases=(lamindb.models.CanCurate, models.Model),
154
+ ),
155
+ migrations.CreateModel(
156
+ name="FeatureSet",
157
+ fields=[
158
+ (
159
+ "created_at",
160
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
161
+ ),
162
+ ("id", models.AutoField(primary_key=True, serialize=False)),
163
+ (
164
+ "uid",
165
+ lamindb.base.fields.CharField(
166
+ blank=True,
167
+ db_index=True,
168
+ default=None,
169
+ max_length=20,
170
+ unique=True,
171
+ ),
172
+ ),
173
+ (
174
+ "name",
175
+ lamindb.base.fields.CharField(
176
+ blank=True, default=None, max_length=150, null=True
177
+ ),
178
+ ),
179
+ ("n", lamindb.base.fields.IntegerField(blank=True)),
180
+ (
181
+ "dtype",
182
+ lamindb.base.fields.CharField(
183
+ blank=True, default=None, max_length=64, null=True
184
+ ),
185
+ ),
186
+ (
187
+ "registry",
188
+ lamindb.base.fields.CharField(
189
+ blank=True, db_index=True, default=None, max_length=120
190
+ ),
191
+ ),
192
+ (
193
+ "hash",
194
+ lamindb.base.fields.CharField(
195
+ blank=True,
196
+ db_index=True,
197
+ default=None,
198
+ max_length=22,
199
+ null=True,
200
+ unique=True,
201
+ ),
202
+ ),
203
+ ],
204
+ options={
205
+ "abstract": False,
206
+ },
207
+ ),
208
+ migrations.CreateModel(
209
+ name="Param",
210
+ fields=[
211
+ (
212
+ "id",
213
+ models.BigAutoField(
214
+ auto_created=True,
215
+ primary_key=True,
216
+ serialize=False,
217
+ verbose_name="ID",
218
+ ),
219
+ ),
220
+ (
221
+ "created_at",
222
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
223
+ ),
224
+ (
225
+ "updated_at",
226
+ lamindb.base.fields.DateTimeField(auto_now=True, db_index=True),
227
+ ),
228
+ (
229
+ "name",
230
+ lamindb.base.fields.CharField(
231
+ blank=True, db_index=True, default=None, max_length=100
232
+ ),
233
+ ),
234
+ (
235
+ "dtype",
236
+ lamindb.base.fields.CharField(
237
+ blank=True, db_index=True, default=None, max_length=64
238
+ ),
239
+ ),
240
+ ],
241
+ options={
242
+ "abstract": False,
243
+ },
244
+ bases=(lamindb.models.CanCurate, models.Model),
245
+ ),
246
+ migrations.CreateModel(
247
+ name="User",
248
+ fields=[
249
+ ("id", models.AutoField(primary_key=True, serialize=False)),
250
+ (
251
+ "uid",
252
+ lamindb.base.fields.CharField(
253
+ blank=True,
254
+ db_index=True,
255
+ default=None,
256
+ max_length=8,
257
+ unique=True,
258
+ ),
259
+ ),
260
+ (
261
+ "handle",
262
+ lamindb.base.fields.CharField(
263
+ blank=True,
264
+ db_index=True,
265
+ default=None,
266
+ max_length=30,
267
+ unique=True,
268
+ ),
269
+ ),
270
+ (
271
+ "name",
272
+ lamindb.base.fields.CharField(
273
+ blank=True,
274
+ db_index=True,
275
+ default=None,
276
+ max_length=150,
277
+ null=True,
278
+ ),
279
+ ),
280
+ (
281
+ "created_at",
282
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
283
+ ),
284
+ (
285
+ "updated_at",
286
+ lamindb.base.fields.DateTimeField(auto_now=True, db_index=True),
287
+ ),
288
+ ],
289
+ options={
290
+ "abstract": False,
291
+ },
292
+ bases=(models.Model, lamindb.models.CanCurate),
293
+ ),
294
+ migrations.CreateModel(
295
+ name="Artifact",
296
+ fields=[
297
+ (
298
+ "version",
299
+ lamindb.base.fields.CharField(
300
+ blank=True,
301
+ db_index=True,
302
+ default=None,
303
+ max_length=30,
304
+ null=True,
305
+ ),
306
+ ),
307
+ (
308
+ "is_latest",
309
+ lamindb.base.fields.BooleanField(
310
+ blank=True, db_index=True, default=True
311
+ ),
312
+ ),
313
+ (
314
+ "created_at",
315
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
316
+ ),
317
+ (
318
+ "updated_at",
319
+ lamindb.base.fields.DateTimeField(auto_now=True, db_index=True),
320
+ ),
321
+ ("id", models.AutoField(primary_key=True, serialize=False)),
322
+ (
323
+ "uid",
324
+ lamindb.base.fields.CharField(
325
+ blank=True,
326
+ db_index=True,
327
+ default=None,
328
+ max_length=20,
329
+ unique=True,
330
+ ),
331
+ ),
332
+ (
333
+ "description",
334
+ lamindb.base.fields.CharField(
335
+ blank=True,
336
+ db_index=True,
337
+ default=None,
338
+ max_length=255,
339
+ null=True,
340
+ ),
341
+ ),
342
+ (
343
+ "key",
344
+ lamindb.base.fields.CharField(
345
+ blank=True,
346
+ db_index=True,
347
+ default=None,
348
+ max_length=255,
349
+ null=True,
350
+ ),
351
+ ),
352
+ (
353
+ "suffix",
354
+ lamindb.base.fields.CharField(
355
+ blank=True, db_index=True, default=None, max_length=30
356
+ ),
357
+ ),
358
+ (
359
+ "type",
360
+ lamindb.base.fields.CharField(
361
+ blank=True,
362
+ db_index=True,
363
+ default=None,
364
+ max_length=20,
365
+ null=True,
366
+ ),
367
+ ),
368
+ (
369
+ "size",
370
+ lamindb.base.fields.BigIntegerField(
371
+ blank=True, db_index=True, null=True
372
+ ),
373
+ ),
374
+ (
375
+ "hash",
376
+ lamindb.base.fields.CharField(
377
+ blank=True,
378
+ db_index=True,
379
+ default=None,
380
+ max_length=22,
381
+ null=True,
382
+ ),
383
+ ),
384
+ (
385
+ "n_objects",
386
+ lamindb.base.fields.BigIntegerField(
387
+ blank=True, db_index=True, default=None, null=True
388
+ ),
389
+ ),
390
+ (
391
+ "n_observations",
392
+ lamindb.base.fields.BigIntegerField(
393
+ blank=True, db_index=True, default=None, null=True
394
+ ),
395
+ ),
396
+ (
397
+ "_hash_type",
398
+ lamindb.base.fields.CharField(
399
+ blank=True,
400
+ db_index=True,
401
+ default=None,
402
+ max_length=30,
403
+ null=True,
404
+ ),
405
+ ),
406
+ (
407
+ "_accessor",
408
+ lamindb.base.fields.CharField(
409
+ blank=True,
410
+ db_index=True,
411
+ default=None,
412
+ max_length=64,
413
+ null=True,
414
+ ),
415
+ ),
416
+ (
417
+ "visibility",
418
+ models.SmallIntegerField(
419
+ choices=[(1, "Default"), (0, "Hidden"), (-1, "Trash")],
420
+ db_index=True,
421
+ default=1,
422
+ ),
423
+ ),
424
+ (
425
+ "_key_is_virtual",
426
+ lamindb.base.fields.BooleanField(blank=True, default=None),
427
+ ),
428
+ (
429
+ "_actions",
430
+ models.ManyToManyField(
431
+ related_name="_action_targets", to="lamindb.artifact"
432
+ ),
433
+ ),
434
+ ],
435
+ options={
436
+ "abstract": False,
437
+ },
438
+ ),
439
+ migrations.CreateModel(
440
+ name="Collection",
441
+ fields=[
442
+ (
443
+ "version",
444
+ lamindb.base.fields.CharField(
445
+ blank=True,
446
+ db_index=True,
447
+ default=None,
448
+ max_length=30,
449
+ null=True,
450
+ ),
451
+ ),
452
+ (
453
+ "is_latest",
454
+ lamindb.base.fields.BooleanField(
455
+ blank=True, db_index=True, default=True
456
+ ),
457
+ ),
458
+ (
459
+ "created_at",
460
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
461
+ ),
462
+ (
463
+ "updated_at",
464
+ lamindb.base.fields.DateTimeField(auto_now=True, db_index=True),
465
+ ),
466
+ ("id", models.AutoField(primary_key=True, serialize=False)),
467
+ (
468
+ "uid",
469
+ lamindb.base.fields.CharField(
470
+ blank=True,
471
+ db_index=True,
472
+ default=lamindb.base.ids.base62_20,
473
+ max_length=20,
474
+ unique=True,
475
+ ),
476
+ ),
477
+ (
478
+ "name",
479
+ lamindb.base.fields.CharField(
480
+ blank=True, db_index=True, default=None, max_length=150
481
+ ),
482
+ ),
483
+ (
484
+ "description",
485
+ lamindb.base.fields.TextField(blank=True, default=None, null=True),
486
+ ),
487
+ (
488
+ "hash",
489
+ lamindb.base.fields.CharField(
490
+ blank=True,
491
+ db_index=True,
492
+ default=None,
493
+ max_length=22,
494
+ null=True,
495
+ ),
496
+ ),
497
+ (
498
+ "reference",
499
+ lamindb.base.fields.CharField(
500
+ blank=True,
501
+ db_index=True,
502
+ default=None,
503
+ max_length=255,
504
+ null=True,
505
+ ),
506
+ ),
507
+ (
508
+ "reference_type",
509
+ lamindb.base.fields.CharField(
510
+ blank=True,
511
+ db_index=True,
512
+ default=None,
513
+ max_length=25,
514
+ null=True,
515
+ ),
516
+ ),
517
+ (
518
+ "visibility",
519
+ models.SmallIntegerField(
520
+ choices=[(1, "Default"), (0, "Hidden"), (-1, "Trash")],
521
+ db_index=True,
522
+ default=1,
523
+ ),
524
+ ),
525
+ (
526
+ "_actions",
527
+ models.ManyToManyField(related_name="+", to="lamindb.artifact"),
528
+ ),
529
+ (
530
+ "meta_artifact",
531
+ lamindb.base.fields.OneToOneField(
532
+ blank=True,
533
+ null=True,
534
+ on_delete=django.db.models.deletion.PROTECT,
535
+ related_name="_meta_of_collection",
536
+ to="lamindb.artifact",
537
+ ),
538
+ ),
539
+ ],
540
+ options={
541
+ "abstract": False,
542
+ },
543
+ ),
544
+ migrations.CreateModel(
545
+ name="CollectionArtifact",
546
+ fields=[
547
+ (
548
+ "created_at",
549
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
550
+ ),
551
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
552
+ (
553
+ "artifact",
554
+ lamindb.base.fields.ForeignKey(
555
+ blank=True,
556
+ on_delete=django.db.models.deletion.PROTECT,
557
+ related_name="links_collection",
558
+ to="lamindb.artifact",
559
+ ),
560
+ ),
561
+ (
562
+ "collection",
563
+ lamindb.base.fields.ForeignKey(
564
+ blank=True,
565
+ on_delete=django.db.models.deletion.CASCADE,
566
+ related_name="links_artifact",
567
+ to="lamindb.collection",
568
+ ),
569
+ ),
570
+ ],
571
+ bases=(lamindb.models.LinkORM, models.Model),
572
+ ),
573
+ migrations.AddField(
574
+ model_name="collection",
575
+ name="artifacts",
576
+ field=models.ManyToManyField(
577
+ related_name="collections",
578
+ through="lamindb.CollectionArtifact",
579
+ to="lamindb.artifact",
580
+ ),
581
+ ),
582
+ migrations.CreateModel(
583
+ name="ArtifactFeatureSet",
584
+ fields=[
585
+ (
586
+ "created_at",
587
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
588
+ ),
589
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
590
+ (
591
+ "slot",
592
+ lamindb.base.fields.CharField(
593
+ blank=True, default=None, max_length=40, null=True
594
+ ),
595
+ ),
596
+ (
597
+ "feature_ref_is_semantic",
598
+ lamindb.base.fields.BooleanField(
599
+ blank=True, default=None, null=True
600
+ ),
601
+ ),
602
+ (
603
+ "artifact",
604
+ lamindb.base.fields.ForeignKey(
605
+ blank=True,
606
+ on_delete=django.db.models.deletion.CASCADE,
607
+ related_name="links_feature_set",
608
+ to="lamindb.artifact",
609
+ ),
610
+ ),
611
+ (
612
+ "featureset",
613
+ lamindb.base.fields.ForeignKey(
614
+ blank=True,
615
+ on_delete=django.db.models.deletion.PROTECT,
616
+ related_name="links_artifact",
617
+ to="lamindb.featureset",
618
+ ),
619
+ ),
620
+ ],
621
+ bases=(lamindb.models.LinkORM, models.Model),
622
+ ),
623
+ migrations.AddField(
624
+ model_name="artifact",
625
+ name="feature_sets",
626
+ field=models.ManyToManyField(
627
+ related_name="artifacts",
628
+ through="lamindb.ArtifactFeatureSet",
629
+ to="lamindb.featureset",
630
+ ),
631
+ ),
632
+ migrations.CreateModel(
633
+ name="FeatureSetFeature",
634
+ fields=[
635
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
636
+ (
637
+ "feature",
638
+ lamindb.base.fields.ForeignKey(
639
+ blank=True,
640
+ on_delete=django.db.models.deletion.PROTECT,
641
+ related_name="+",
642
+ to="lamindb.feature",
643
+ ),
644
+ ),
645
+ (
646
+ "featureset",
647
+ lamindb.base.fields.ForeignKey(
648
+ blank=True,
649
+ on_delete=django.db.models.deletion.CASCADE,
650
+ related_name="+",
651
+ to="lamindb.featureset",
652
+ ),
653
+ ),
654
+ ],
655
+ options={
656
+ "unique_together": {("featureset", "feature")},
657
+ },
658
+ bases=(models.Model, lamindb.models.LinkORM),
659
+ ),
660
+ migrations.AddField(
661
+ model_name="feature",
662
+ name="feature_sets",
663
+ field=models.ManyToManyField(
664
+ related_name="features",
665
+ through="lamindb.FeatureSetFeature",
666
+ to="lamindb.featureset",
667
+ ),
668
+ ),
669
+ migrations.CreateModel(
670
+ name="FeatureValue",
671
+ fields=[
672
+ (
673
+ "id",
674
+ models.BigAutoField(
675
+ auto_created=True,
676
+ primary_key=True,
677
+ serialize=False,
678
+ verbose_name="ID",
679
+ ),
680
+ ),
681
+ (
682
+ "created_at",
683
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
684
+ ),
685
+ ("value", models.JSONField()),
686
+ (
687
+ "feature",
688
+ lamindb.base.fields.ForeignKey(
689
+ blank=True,
690
+ default=None,
691
+ null=True,
692
+ on_delete=django.db.models.deletion.CASCADE,
693
+ related_name="values",
694
+ to="lamindb.feature",
695
+ ),
696
+ ),
697
+ ],
698
+ options={
699
+ "abstract": False,
700
+ },
701
+ ),
702
+ migrations.CreateModel(
703
+ name="ArtifactFeatureValue",
704
+ fields=[
705
+ (
706
+ "created_at",
707
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
708
+ ),
709
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
710
+ (
711
+ "artifact",
712
+ lamindb.base.fields.ForeignKey(
713
+ blank=True,
714
+ on_delete=django.db.models.deletion.CASCADE,
715
+ related_name="+",
716
+ to="lamindb.artifact",
717
+ ),
718
+ ),
719
+ (
720
+ "featurevalue",
721
+ lamindb.base.fields.ForeignKey(
722
+ blank=True,
723
+ on_delete=django.db.models.deletion.PROTECT,
724
+ related_name="+",
725
+ to="lamindb.featurevalue",
726
+ ),
727
+ ),
728
+ ],
729
+ bases=(lamindb.models.LinkORM, models.Model),
730
+ ),
731
+ migrations.AddField(
732
+ model_name="artifact",
733
+ name="_feature_values",
734
+ field=models.ManyToManyField(
735
+ related_name="artifacts",
736
+ through="lamindb.ArtifactFeatureValue",
737
+ to="lamindb.featurevalue",
738
+ ),
739
+ ),
740
+ migrations.CreateModel(
741
+ name="ParamValue",
742
+ fields=[
743
+ (
744
+ "id",
745
+ models.BigAutoField(
746
+ auto_created=True,
747
+ primary_key=True,
748
+ serialize=False,
749
+ verbose_name="ID",
750
+ ),
751
+ ),
752
+ ("value", models.JSONField()),
753
+ (
754
+ "created_at",
755
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
756
+ ),
757
+ (
758
+ "param",
759
+ lamindb.base.fields.ForeignKey(
760
+ blank=True,
761
+ on_delete=django.db.models.deletion.CASCADE,
762
+ related_name="values",
763
+ to="lamindb.param",
764
+ ),
765
+ ),
766
+ (
767
+ "created_by",
768
+ lamindb.base.fields.ForeignKey(
769
+ blank=True,
770
+ default=lamindb.base.users.current_user_id,
771
+ on_delete=django.db.models.deletion.PROTECT,
772
+ related_name="+",
773
+ to="lamindb.user",
774
+ ),
775
+ ),
776
+ ],
777
+ options={
778
+ "abstract": False,
779
+ },
780
+ ),
781
+ migrations.CreateModel(
782
+ name="ArtifactParamValue",
783
+ fields=[
784
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
785
+ (
786
+ "artifact",
787
+ lamindb.base.fields.ForeignKey(
788
+ blank=True,
789
+ on_delete=django.db.models.deletion.CASCADE,
790
+ related_name="+",
791
+ to="lamindb.artifact",
792
+ ),
793
+ ),
794
+ (
795
+ "paramvalue",
796
+ lamindb.base.fields.ForeignKey(
797
+ blank=True,
798
+ on_delete=django.db.models.deletion.PROTECT,
799
+ related_name="+",
800
+ to="lamindb.paramvalue",
801
+ ),
802
+ ),
803
+ ],
804
+ options={
805
+ "unique_together": {("artifact", "paramvalue")},
806
+ },
807
+ bases=(models.Model, lamindb.models.LinkORM),
808
+ ),
809
+ migrations.AddField(
810
+ model_name="artifact",
811
+ name="_param_values",
812
+ field=models.ManyToManyField(
813
+ related_name="artifacts",
814
+ through="lamindb.ArtifactParamValue",
815
+ to="lamindb.paramvalue",
816
+ ),
817
+ ),
818
+ migrations.CreateModel(
819
+ name="Run",
820
+ fields=[
821
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
822
+ (
823
+ "uid",
824
+ lamindb.base.fields.CharField(
825
+ blank=True,
826
+ db_index=True,
827
+ default=lamindb.base.ids.base62_20,
828
+ max_length=20,
829
+ unique=True,
830
+ ),
831
+ ),
832
+ (
833
+ "started_at",
834
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
835
+ ),
836
+ (
837
+ "finished_at",
838
+ lamindb.base.fields.DateTimeField(
839
+ blank=True, db_index=True, default=None, null=True
840
+ ),
841
+ ),
842
+ (
843
+ "is_consecutive",
844
+ lamindb.base.fields.BooleanField(
845
+ blank=True, default=None, null=True
846
+ ),
847
+ ),
848
+ (
849
+ "reference",
850
+ lamindb.base.fields.CharField(
851
+ blank=True,
852
+ db_index=True,
853
+ default=None,
854
+ max_length=255,
855
+ null=True,
856
+ ),
857
+ ),
858
+ (
859
+ "reference_type",
860
+ lamindb.base.fields.CharField(
861
+ blank=True,
862
+ db_index=True,
863
+ default=None,
864
+ max_length=25,
865
+ null=True,
866
+ ),
867
+ ),
868
+ (
869
+ "created_at",
870
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
871
+ ),
872
+ (
873
+ "environment",
874
+ lamindb.base.fields.ForeignKey(
875
+ blank=True,
876
+ default=None,
877
+ null=True,
878
+ on_delete=django.db.models.deletion.PROTECT,
879
+ related_name="_environment_of",
880
+ to="lamindb.artifact",
881
+ ),
882
+ ),
883
+ (
884
+ "parent",
885
+ lamindb.base.fields.ForeignKey(
886
+ blank=True,
887
+ default=None,
888
+ null=True,
889
+ on_delete=django.db.models.deletion.CASCADE,
890
+ related_name="children",
891
+ to="lamindb.run",
892
+ ),
893
+ ),
894
+ (
895
+ "report",
896
+ lamindb.base.fields.ForeignKey(
897
+ blank=True,
898
+ default=None,
899
+ null=True,
900
+ on_delete=django.db.models.deletion.PROTECT,
901
+ related_name="_report_of",
902
+ to="lamindb.artifact",
903
+ ),
904
+ ),
905
+ ],
906
+ options={
907
+ "abstract": False,
908
+ },
909
+ ),
910
+ migrations.AddField(
911
+ model_name="param",
912
+ name="_previous_runs",
913
+ field=models.ManyToManyField(related_name="+", to="lamindb.run"),
914
+ ),
915
+ migrations.AddField(
916
+ model_name="param",
917
+ name="run",
918
+ field=lamindb.base.fields.ForeignKey(
919
+ blank=True,
920
+ default=lamindb.models.current_run,
921
+ null=True,
922
+ on_delete=django.db.models.deletion.PROTECT,
923
+ related_name="+",
924
+ to="lamindb.run",
925
+ ),
926
+ ),
927
+ migrations.AddField(
928
+ model_name="featurevalue",
929
+ name="run",
930
+ field=lamindb.base.fields.ForeignKey(
931
+ blank=True,
932
+ default=lamindb.models.current_run,
933
+ null=True,
934
+ on_delete=django.db.models.deletion.PROTECT,
935
+ related_name="+",
936
+ to="lamindb.run",
937
+ ),
938
+ ),
939
+ migrations.AddField(
940
+ model_name="featureset",
941
+ name="run",
942
+ field=lamindb.base.fields.ForeignKey(
943
+ blank=True,
944
+ default=lamindb.models.current_run,
945
+ null=True,
946
+ on_delete=django.db.models.deletion.PROTECT,
947
+ related_name="+",
948
+ to="lamindb.run",
949
+ ),
950
+ ),
951
+ migrations.AddField(
952
+ model_name="feature",
953
+ name="_previous_runs",
954
+ field=models.ManyToManyField(related_name="+", to="lamindb.run"),
955
+ ),
956
+ migrations.AddField(
957
+ model_name="feature",
958
+ name="run",
959
+ field=lamindb.base.fields.ForeignKey(
960
+ blank=True,
961
+ default=lamindb.models.current_run,
962
+ null=True,
963
+ on_delete=django.db.models.deletion.PROTECT,
964
+ related_name="+",
965
+ to="lamindb.run",
966
+ ),
967
+ ),
968
+ migrations.AddField(
969
+ model_name="collectionartifact",
970
+ name="run",
971
+ field=lamindb.base.fields.ForeignKey(
972
+ blank=True,
973
+ default=lamindb.models.current_run,
974
+ null=True,
975
+ on_delete=django.db.models.deletion.PROTECT,
976
+ related_name="+",
977
+ to="lamindb.run",
978
+ ),
979
+ ),
980
+ migrations.AddField(
981
+ model_name="collection",
982
+ name="_previous_runs",
983
+ field=models.ManyToManyField(
984
+ related_name="_output_collections_with_later_updates",
985
+ to="lamindb.run",
986
+ ),
987
+ ),
988
+ migrations.AddField(
989
+ model_name="collection",
990
+ name="input_of_runs",
991
+ field=models.ManyToManyField(
992
+ related_name="input_collections", to="lamindb.run"
993
+ ),
994
+ ),
995
+ migrations.AddField(
996
+ model_name="collection",
997
+ name="run",
998
+ field=lamindb.base.fields.ForeignKey(
999
+ blank=True,
1000
+ default=None,
1001
+ null=True,
1002
+ on_delete=django.db.models.deletion.PROTECT,
1003
+ related_name="output_collections",
1004
+ to="lamindb.run",
1005
+ ),
1006
+ ),
1007
+ migrations.AddField(
1008
+ model_name="artifactfeaturevalue",
1009
+ name="run",
1010
+ field=lamindb.base.fields.ForeignKey(
1011
+ blank=True,
1012
+ default=lamindb.models.current_run,
1013
+ null=True,
1014
+ on_delete=django.db.models.deletion.PROTECT,
1015
+ related_name="+",
1016
+ to="lamindb.run",
1017
+ ),
1018
+ ),
1019
+ migrations.AddField(
1020
+ model_name="artifactfeatureset",
1021
+ name="run",
1022
+ field=lamindb.base.fields.ForeignKey(
1023
+ blank=True,
1024
+ default=lamindb.models.current_run,
1025
+ null=True,
1026
+ on_delete=django.db.models.deletion.PROTECT,
1027
+ related_name="+",
1028
+ to="lamindb.run",
1029
+ ),
1030
+ ),
1031
+ migrations.AddField(
1032
+ model_name="artifact",
1033
+ name="_previous_runs",
1034
+ field=models.ManyToManyField(
1035
+ related_name="_output_artifacts_with_later_updates",
1036
+ to="lamindb.run",
1037
+ ),
1038
+ ),
1039
+ migrations.AddField(
1040
+ model_name="artifact",
1041
+ name="input_of_runs",
1042
+ field=models.ManyToManyField(
1043
+ related_name="input_artifacts", to="lamindb.run"
1044
+ ),
1045
+ ),
1046
+ migrations.AddField(
1047
+ model_name="artifact",
1048
+ name="run",
1049
+ field=lamindb.base.fields.ForeignKey(
1050
+ blank=True,
1051
+ default=None,
1052
+ null=True,
1053
+ on_delete=django.db.models.deletion.PROTECT,
1054
+ related_name="output_artifacts",
1055
+ to="lamindb.run",
1056
+ ),
1057
+ ),
1058
+ migrations.CreateModel(
1059
+ name="RunParamValue",
1060
+ fields=[
1061
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
1062
+ (
1063
+ "paramvalue",
1064
+ lamindb.base.fields.ForeignKey(
1065
+ blank=True,
1066
+ on_delete=django.db.models.deletion.PROTECT,
1067
+ related_name="+",
1068
+ to="lamindb.paramvalue",
1069
+ ),
1070
+ ),
1071
+ (
1072
+ "run",
1073
+ lamindb.base.fields.ForeignKey(
1074
+ blank=True,
1075
+ on_delete=django.db.models.deletion.CASCADE,
1076
+ related_name="+",
1077
+ to="lamindb.run",
1078
+ ),
1079
+ ),
1080
+ ],
1081
+ options={
1082
+ "unique_together": {("run", "paramvalue")},
1083
+ },
1084
+ bases=(models.Model, lamindb.models.LinkORM),
1085
+ ),
1086
+ migrations.AddField(
1087
+ model_name="run",
1088
+ name="_param_values",
1089
+ field=models.ManyToManyField(
1090
+ related_name="runs",
1091
+ through="lamindb.RunParamValue",
1092
+ to="lamindb.paramvalue",
1093
+ ),
1094
+ ),
1095
+ migrations.CreateModel(
1096
+ name="Storage",
1097
+ fields=[
1098
+ (
1099
+ "created_at",
1100
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
1101
+ ),
1102
+ (
1103
+ "updated_at",
1104
+ lamindb.base.fields.DateTimeField(auto_now=True, db_index=True),
1105
+ ),
1106
+ ("id", models.AutoField(primary_key=True, serialize=False)),
1107
+ (
1108
+ "uid",
1109
+ lamindb.base.fields.CharField(
1110
+ blank=True,
1111
+ db_index=True,
1112
+ default=lamindb.base.ids.base62_12,
1113
+ max_length=12,
1114
+ unique=True,
1115
+ ),
1116
+ ),
1117
+ (
1118
+ "root",
1119
+ lamindb.base.fields.CharField(
1120
+ blank=True,
1121
+ db_index=True,
1122
+ default=None,
1123
+ max_length=255,
1124
+ unique=True,
1125
+ ),
1126
+ ),
1127
+ (
1128
+ "description",
1129
+ lamindb.base.fields.CharField(
1130
+ blank=True,
1131
+ db_index=True,
1132
+ default=None,
1133
+ max_length=255,
1134
+ null=True,
1135
+ ),
1136
+ ),
1137
+ (
1138
+ "type",
1139
+ lamindb.base.fields.CharField(
1140
+ blank=True, db_index=True, default=None, max_length=30
1141
+ ),
1142
+ ),
1143
+ (
1144
+ "region",
1145
+ lamindb.base.fields.CharField(
1146
+ blank=True,
1147
+ db_index=True,
1148
+ default=None,
1149
+ max_length=64,
1150
+ null=True,
1151
+ ),
1152
+ ),
1153
+ (
1154
+ "instance_uid",
1155
+ lamindb.base.fields.CharField(
1156
+ blank=True,
1157
+ db_index=True,
1158
+ default=None,
1159
+ max_length=12,
1160
+ null=True,
1161
+ ),
1162
+ ),
1163
+ (
1164
+ "_previous_runs",
1165
+ models.ManyToManyField(related_name="+", to="lamindb.run"),
1166
+ ),
1167
+ (
1168
+ "run",
1169
+ lamindb.base.fields.ForeignKey(
1170
+ blank=True,
1171
+ default=lamindb.models.current_run,
1172
+ null=True,
1173
+ on_delete=django.db.models.deletion.PROTECT,
1174
+ related_name="+",
1175
+ to="lamindb.run",
1176
+ ),
1177
+ ),
1178
+ (
1179
+ "created_by",
1180
+ lamindb.base.fields.ForeignKey(
1181
+ blank=True,
1182
+ default=lamindb.base.users.current_user_id,
1183
+ on_delete=django.db.models.deletion.PROTECT,
1184
+ related_name="+",
1185
+ to="lamindb.user",
1186
+ ),
1187
+ ),
1188
+ ],
1189
+ options={
1190
+ "abstract": False,
1191
+ },
1192
+ ),
1193
+ migrations.AddField(
1194
+ model_name="artifact",
1195
+ name="storage",
1196
+ field=lamindb.base.fields.ForeignKey(
1197
+ blank=True,
1198
+ on_delete=django.db.models.deletion.PROTECT,
1199
+ related_name="artifacts",
1200
+ to="lamindb.storage",
1201
+ ),
1202
+ ),
1203
+ migrations.CreateModel(
1204
+ name="Transform",
1205
+ fields=[
1206
+ (
1207
+ "version",
1208
+ lamindb.base.fields.CharField(
1209
+ blank=True,
1210
+ db_index=True,
1211
+ default=None,
1212
+ max_length=30,
1213
+ null=True,
1214
+ ),
1215
+ ),
1216
+ (
1217
+ "is_latest",
1218
+ lamindb.base.fields.BooleanField(
1219
+ blank=True, db_index=True, default=True
1220
+ ),
1221
+ ),
1222
+ ("id", models.AutoField(primary_key=True, serialize=False)),
1223
+ (
1224
+ "uid",
1225
+ lamindb.base.fields.CharField(
1226
+ blank=True,
1227
+ db_index=True,
1228
+ default=None,
1229
+ max_length=16,
1230
+ unique=True,
1231
+ ),
1232
+ ),
1233
+ (
1234
+ "name",
1235
+ lamindb.base.fields.CharField(
1236
+ blank=True,
1237
+ db_index=True,
1238
+ default=None,
1239
+ max_length=150,
1240
+ null=True,
1241
+ ),
1242
+ ),
1243
+ (
1244
+ "key",
1245
+ lamindb.base.fields.CharField(
1246
+ blank=True,
1247
+ db_index=True,
1248
+ default=None,
1249
+ max_length=120,
1250
+ null=True,
1251
+ ),
1252
+ ),
1253
+ (
1254
+ "description",
1255
+ lamindb.base.fields.CharField(
1256
+ blank=True, default=None, max_length=255, null=True
1257
+ ),
1258
+ ),
1259
+ (
1260
+ "type",
1261
+ lamindb.base.fields.CharField(
1262
+ blank=True, db_index=True, default="pipeline", max_length=20
1263
+ ),
1264
+ ),
1265
+ (
1266
+ "source_code",
1267
+ lamindb.base.fields.TextField(blank=True, default=None, null=True),
1268
+ ),
1269
+ (
1270
+ "hash",
1271
+ lamindb.base.fields.CharField(
1272
+ blank=True,
1273
+ db_index=True,
1274
+ default=None,
1275
+ max_length=22,
1276
+ null=True,
1277
+ ),
1278
+ ),
1279
+ (
1280
+ "reference",
1281
+ lamindb.base.fields.CharField(
1282
+ blank=True,
1283
+ db_index=True,
1284
+ default=None,
1285
+ max_length=255,
1286
+ null=True,
1287
+ ),
1288
+ ),
1289
+ (
1290
+ "reference_type",
1291
+ lamindb.base.fields.CharField(
1292
+ blank=True,
1293
+ db_index=True,
1294
+ default=None,
1295
+ max_length=25,
1296
+ null=True,
1297
+ ),
1298
+ ),
1299
+ (
1300
+ "created_at",
1301
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
1302
+ ),
1303
+ (
1304
+ "updated_at",
1305
+ lamindb.base.fields.DateTimeField(auto_now=True, db_index=True),
1306
+ ),
1307
+ (
1308
+ "_source_code_artifact",
1309
+ lamindb.base.fields.ForeignKey(
1310
+ blank=True,
1311
+ default=None,
1312
+ null=True,
1313
+ on_delete=django.db.models.deletion.PROTECT,
1314
+ related_name="_source_code_of",
1315
+ to="lamindb.artifact",
1316
+ ),
1317
+ ),
1318
+ (
1319
+ "predecessors",
1320
+ models.ManyToManyField(
1321
+ related_name="successors", to="lamindb.transform"
1322
+ ),
1323
+ ),
1324
+ ],
1325
+ options={
1326
+ "abstract": False,
1327
+ },
1328
+ ),
1329
+ migrations.AddField(
1330
+ model_name="run",
1331
+ name="transform",
1332
+ field=lamindb.base.fields.ForeignKey(
1333
+ blank=True,
1334
+ on_delete=django.db.models.deletion.CASCADE,
1335
+ related_name="runs",
1336
+ to="lamindb.transform",
1337
+ ),
1338
+ ),
1339
+ migrations.AddField(
1340
+ model_name="collection",
1341
+ name="transform",
1342
+ field=lamindb.base.fields.ForeignKey(
1343
+ blank=True,
1344
+ default=None,
1345
+ null=True,
1346
+ on_delete=django.db.models.deletion.PROTECT,
1347
+ related_name="output_collections",
1348
+ to="lamindb.transform",
1349
+ ),
1350
+ ),
1351
+ migrations.AddField(
1352
+ model_name="artifact",
1353
+ name="transform",
1354
+ field=lamindb.base.fields.ForeignKey(
1355
+ blank=True,
1356
+ default=None,
1357
+ null=True,
1358
+ on_delete=django.db.models.deletion.PROTECT,
1359
+ related_name="output_artifacts",
1360
+ to="lamindb.transform",
1361
+ ),
1362
+ ),
1363
+ migrations.CreateModel(
1364
+ name="ULabel",
1365
+ fields=[
1366
+ (
1367
+ "created_at",
1368
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
1369
+ ),
1370
+ (
1371
+ "updated_at",
1372
+ lamindb.base.fields.DateTimeField(auto_now=True, db_index=True),
1373
+ ),
1374
+ ("id", models.AutoField(primary_key=True, serialize=False)),
1375
+ (
1376
+ "uid",
1377
+ lamindb.base.fields.CharField(
1378
+ blank=True,
1379
+ db_index=True,
1380
+ default=lamindb.base.ids.base62_8,
1381
+ max_length=8,
1382
+ unique=True,
1383
+ ),
1384
+ ),
1385
+ (
1386
+ "name",
1387
+ lamindb.base.fields.CharField(
1388
+ blank=True,
1389
+ db_index=True,
1390
+ default=None,
1391
+ max_length=150,
1392
+ unique=True,
1393
+ ),
1394
+ ),
1395
+ (
1396
+ "description",
1397
+ lamindb.base.fields.TextField(blank=True, default=None, null=True),
1398
+ ),
1399
+ (
1400
+ "reference",
1401
+ lamindb.base.fields.CharField(
1402
+ blank=True,
1403
+ db_index=True,
1404
+ default=None,
1405
+ max_length=255,
1406
+ null=True,
1407
+ ),
1408
+ ),
1409
+ (
1410
+ "reference_type",
1411
+ lamindb.base.fields.CharField(
1412
+ blank=True,
1413
+ db_index=True,
1414
+ default=None,
1415
+ max_length=25,
1416
+ null=True,
1417
+ ),
1418
+ ),
1419
+ (
1420
+ "_previous_runs",
1421
+ models.ManyToManyField(related_name="+", to="lamindb.run"),
1422
+ ),
1423
+ (
1424
+ "parents",
1425
+ models.ManyToManyField(
1426
+ related_name="children", to="lamindb.ulabel"
1427
+ ),
1428
+ ),
1429
+ (
1430
+ "run",
1431
+ lamindb.base.fields.ForeignKey(
1432
+ blank=True,
1433
+ default=lamindb.models.current_run,
1434
+ null=True,
1435
+ on_delete=django.db.models.deletion.PROTECT,
1436
+ related_name="+",
1437
+ to="lamindb.run",
1438
+ ),
1439
+ ),
1440
+ (
1441
+ "created_by",
1442
+ lamindb.base.fields.ForeignKey(
1443
+ blank=True,
1444
+ default=lamindb.base.users.current_user_id,
1445
+ on_delete=django.db.models.deletion.PROTECT,
1446
+ related_name="+",
1447
+ to="lamindb.user",
1448
+ ),
1449
+ ),
1450
+ ],
1451
+ options={
1452
+ "abstract": False,
1453
+ },
1454
+ bases=(
1455
+ lamindb.models.HasParents,
1456
+ lamindb.models.CanCurate,
1457
+ models.Model,
1458
+ ),
1459
+ ),
1460
+ migrations.AddField(
1461
+ model_name="transform",
1462
+ name="ulabels",
1463
+ field=models.ManyToManyField(
1464
+ related_name="transforms", to="lamindb.ulabel"
1465
+ ),
1466
+ ),
1467
+ migrations.CreateModel(
1468
+ name="CollectionULabel",
1469
+ fields=[
1470
+ (
1471
+ "created_at",
1472
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
1473
+ ),
1474
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
1475
+ (
1476
+ "label_ref_is_name",
1477
+ lamindb.base.fields.BooleanField(
1478
+ blank=True, default=None, null=True
1479
+ ),
1480
+ ),
1481
+ (
1482
+ "feature_ref_is_name",
1483
+ lamindb.base.fields.BooleanField(
1484
+ blank=True, default=None, null=True
1485
+ ),
1486
+ ),
1487
+ (
1488
+ "collection",
1489
+ lamindb.base.fields.ForeignKey(
1490
+ blank=True,
1491
+ on_delete=django.db.models.deletion.CASCADE,
1492
+ related_name="links_ulabel",
1493
+ to="lamindb.collection",
1494
+ ),
1495
+ ),
1496
+ (
1497
+ "feature",
1498
+ lamindb.base.fields.ForeignKey(
1499
+ blank=True,
1500
+ default=None,
1501
+ null=True,
1502
+ on_delete=django.db.models.deletion.PROTECT,
1503
+ related_name="links_collectionulabel",
1504
+ to="lamindb.feature",
1505
+ ),
1506
+ ),
1507
+ (
1508
+ "run",
1509
+ lamindb.base.fields.ForeignKey(
1510
+ blank=True,
1511
+ default=lamindb.models.current_run,
1512
+ null=True,
1513
+ on_delete=django.db.models.deletion.PROTECT,
1514
+ related_name="+",
1515
+ to="lamindb.run",
1516
+ ),
1517
+ ),
1518
+ (
1519
+ "ulabel",
1520
+ lamindb.base.fields.ForeignKey(
1521
+ blank=True,
1522
+ on_delete=django.db.models.deletion.PROTECT,
1523
+ related_name="links_collection",
1524
+ to="lamindb.ulabel",
1525
+ ),
1526
+ ),
1527
+ (
1528
+ "created_by",
1529
+ lamindb.base.fields.ForeignKey(
1530
+ blank=True,
1531
+ default=lamindb.base.users.current_user_id,
1532
+ on_delete=django.db.models.deletion.PROTECT,
1533
+ related_name="+",
1534
+ to="lamindb.user",
1535
+ ),
1536
+ ),
1537
+ ],
1538
+ options={
1539
+ "unique_together": {("collection", "ulabel")},
1540
+ },
1541
+ bases=(lamindb.models.LinkORM, models.Model),
1542
+ ),
1543
+ migrations.AddField(
1544
+ model_name="collection",
1545
+ name="ulabels",
1546
+ field=models.ManyToManyField(
1547
+ related_name="collections",
1548
+ through="lamindb.CollectionULabel",
1549
+ to="lamindb.ulabel",
1550
+ ),
1551
+ ),
1552
+ migrations.CreateModel(
1553
+ name="ArtifactULabel",
1554
+ fields=[
1555
+ (
1556
+ "created_at",
1557
+ lamindb.base.fields.DateTimeField(auto_now_add=True, db_index=True),
1558
+ ),
1559
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
1560
+ (
1561
+ "label_ref_is_name",
1562
+ lamindb.base.fields.BooleanField(
1563
+ blank=True, default=None, null=True
1564
+ ),
1565
+ ),
1566
+ (
1567
+ "feature_ref_is_name",
1568
+ lamindb.base.fields.BooleanField(
1569
+ blank=True, default=None, null=True
1570
+ ),
1571
+ ),
1572
+ (
1573
+ "artifact",
1574
+ lamindb.base.fields.ForeignKey(
1575
+ blank=True,
1576
+ on_delete=django.db.models.deletion.CASCADE,
1577
+ related_name="links_ulabel",
1578
+ to="lamindb.artifact",
1579
+ ),
1580
+ ),
1581
+ (
1582
+ "feature",
1583
+ lamindb.base.fields.ForeignKey(
1584
+ blank=True,
1585
+ default=None,
1586
+ null=True,
1587
+ on_delete=django.db.models.deletion.PROTECT,
1588
+ related_name="links_artifactulabel",
1589
+ to="lamindb.feature",
1590
+ ),
1591
+ ),
1592
+ (
1593
+ "run",
1594
+ lamindb.base.fields.ForeignKey(
1595
+ blank=True,
1596
+ default=lamindb.models.current_run,
1597
+ null=True,
1598
+ on_delete=django.db.models.deletion.PROTECT,
1599
+ related_name="+",
1600
+ to="lamindb.run",
1601
+ ),
1602
+ ),
1603
+ (
1604
+ "ulabel",
1605
+ lamindb.base.fields.ForeignKey(
1606
+ blank=True,
1607
+ on_delete=django.db.models.deletion.PROTECT,
1608
+ related_name="links_artifact",
1609
+ to="lamindb.ulabel",
1610
+ ),
1611
+ ),
1612
+ (
1613
+ "created_by",
1614
+ lamindb.base.fields.ForeignKey(
1615
+ blank=True,
1616
+ default=lamindb.base.users.current_user_id,
1617
+ on_delete=django.db.models.deletion.PROTECT,
1618
+ related_name="+",
1619
+ to="lamindb.user",
1620
+ ),
1621
+ ),
1622
+ ],
1623
+ options={
1624
+ "unique_together": {("artifact", "ulabel", "feature")},
1625
+ },
1626
+ bases=(lamindb.models.LinkORM, models.Model),
1627
+ ),
1628
+ migrations.AddField(
1629
+ model_name="artifact",
1630
+ name="ulabels",
1631
+ field=models.ManyToManyField(
1632
+ related_name="artifacts",
1633
+ through="lamindb.ArtifactULabel",
1634
+ to="lamindb.ulabel",
1635
+ ),
1636
+ ),
1637
+ migrations.AddField(
1638
+ model_name="transform",
1639
+ name="created_by",
1640
+ field=lamindb.base.fields.ForeignKey(
1641
+ blank=True,
1642
+ default=lamindb.base.users.current_user_id,
1643
+ on_delete=django.db.models.deletion.PROTECT,
1644
+ related_name="created_transforms",
1645
+ to="lamindb.user",
1646
+ ),
1647
+ ),
1648
+ migrations.AddField(
1649
+ model_name="run",
1650
+ name="created_by",
1651
+ field=lamindb.base.fields.ForeignKey(
1652
+ blank=True,
1653
+ default=lamindb.base.users.current_user_id,
1654
+ on_delete=django.db.models.deletion.CASCADE,
1655
+ related_name="created_runs",
1656
+ to="lamindb.user",
1657
+ ),
1658
+ ),
1659
+ migrations.AddField(
1660
+ model_name="param",
1661
+ name="created_by",
1662
+ field=lamindb.base.fields.ForeignKey(
1663
+ blank=True,
1664
+ default=lamindb.base.users.current_user_id,
1665
+ on_delete=django.db.models.deletion.PROTECT,
1666
+ related_name="+",
1667
+ to="lamindb.user",
1668
+ ),
1669
+ ),
1670
+ migrations.AddField(
1671
+ model_name="featurevalue",
1672
+ name="created_by",
1673
+ field=lamindb.base.fields.ForeignKey(
1674
+ blank=True,
1675
+ default=lamindb.base.users.current_user_id,
1676
+ on_delete=django.db.models.deletion.PROTECT,
1677
+ related_name="+",
1678
+ to="lamindb.user",
1679
+ ),
1680
+ ),
1681
+ migrations.AddField(
1682
+ model_name="featureset",
1683
+ name="created_by",
1684
+ field=lamindb.base.fields.ForeignKey(
1685
+ blank=True,
1686
+ default=lamindb.base.users.current_user_id,
1687
+ on_delete=django.db.models.deletion.PROTECT,
1688
+ related_name="+",
1689
+ to="lamindb.user",
1690
+ ),
1691
+ ),
1692
+ migrations.AddField(
1693
+ model_name="feature",
1694
+ name="created_by",
1695
+ field=lamindb.base.fields.ForeignKey(
1696
+ blank=True,
1697
+ default=lamindb.base.users.current_user_id,
1698
+ on_delete=django.db.models.deletion.PROTECT,
1699
+ related_name="+",
1700
+ to="lamindb.user",
1701
+ ),
1702
+ ),
1703
+ migrations.AddField(
1704
+ model_name="collectionartifact",
1705
+ name="created_by",
1706
+ field=lamindb.base.fields.ForeignKey(
1707
+ blank=True,
1708
+ default=lamindb.base.users.current_user_id,
1709
+ on_delete=django.db.models.deletion.PROTECT,
1710
+ related_name="+",
1711
+ to="lamindb.user",
1712
+ ),
1713
+ ),
1714
+ migrations.AddField(
1715
+ model_name="collection",
1716
+ name="created_by",
1717
+ field=lamindb.base.fields.ForeignKey(
1718
+ blank=True,
1719
+ default=lamindb.base.users.current_user_id,
1720
+ on_delete=django.db.models.deletion.PROTECT,
1721
+ related_name="+",
1722
+ to="lamindb.user",
1723
+ ),
1724
+ ),
1725
+ migrations.AddField(
1726
+ model_name="artifactfeaturevalue",
1727
+ name="created_by",
1728
+ field=lamindb.base.fields.ForeignKey(
1729
+ blank=True,
1730
+ default=lamindb.base.users.current_user_id,
1731
+ on_delete=django.db.models.deletion.PROTECT,
1732
+ related_name="+",
1733
+ to="lamindb.user",
1734
+ ),
1735
+ ),
1736
+ migrations.AddField(
1737
+ model_name="artifactfeatureset",
1738
+ name="created_by",
1739
+ field=lamindb.base.fields.ForeignKey(
1740
+ blank=True,
1741
+ default=lamindb.base.users.current_user_id,
1742
+ on_delete=django.db.models.deletion.PROTECT,
1743
+ related_name="+",
1744
+ to="lamindb.user",
1745
+ ),
1746
+ ),
1747
+ migrations.AddField(
1748
+ model_name="artifact",
1749
+ name="created_by",
1750
+ field=lamindb.base.fields.ForeignKey(
1751
+ blank=True,
1752
+ default=lamindb.base.users.current_user_id,
1753
+ on_delete=django.db.models.deletion.PROTECT,
1754
+ related_name="created_artifacts",
1755
+ to="lamindb.user",
1756
+ ),
1757
+ ),
1758
+ migrations.AlterUniqueTogether(
1759
+ name="collectionartifact",
1760
+ unique_together={("collection", "artifact")},
1761
+ ),
1762
+ migrations.AlterUniqueTogether(
1763
+ name="artifactfeaturevalue",
1764
+ unique_together={("artifact", "featurevalue")},
1765
+ ),
1766
+ migrations.AlterUniqueTogether(
1767
+ name="artifactfeatureset",
1768
+ unique_together={("artifact", "featureset")},
1769
+ ),
1770
+ ]