lamindb 1.0.4__py3-none-any.whl → 1.1.0__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 (78) hide show
  1. lamindb/__init__.py +14 -5
  2. lamindb/_artifact.py +174 -57
  3. lamindb/_can_curate.py +27 -8
  4. lamindb/_collection.py +85 -51
  5. lamindb/_feature.py +177 -41
  6. lamindb/_finish.py +222 -81
  7. lamindb/_from_values.py +83 -98
  8. lamindb/_parents.py +4 -4
  9. lamindb/_query_set.py +59 -17
  10. lamindb/_record.py +171 -53
  11. lamindb/_run.py +4 -4
  12. lamindb/_save.py +33 -10
  13. lamindb/_schema.py +135 -38
  14. lamindb/_storage.py +1 -1
  15. lamindb/_tracked.py +106 -0
  16. lamindb/_transform.py +21 -8
  17. lamindb/_ulabel.py +5 -14
  18. lamindb/base/validation.py +2 -6
  19. lamindb/core/__init__.py +13 -14
  20. lamindb/core/_context.py +39 -36
  21. lamindb/core/_data.py +29 -25
  22. lamindb/core/_describe.py +1 -1
  23. lamindb/core/_django.py +1 -1
  24. lamindb/core/_feature_manager.py +54 -44
  25. lamindb/core/_label_manager.py +4 -4
  26. lamindb/core/_mapped_collection.py +20 -7
  27. lamindb/core/datasets/__init__.py +6 -1
  28. lamindb/core/datasets/_core.py +12 -11
  29. lamindb/core/datasets/_small.py +66 -20
  30. lamindb/core/exceptions.py +1 -90
  31. lamindb/core/loaders.py +7 -13
  32. lamindb/core/relations.py +6 -4
  33. lamindb/core/storage/_anndata_accessor.py +41 -0
  34. lamindb/core/storage/_backed_access.py +2 -2
  35. lamindb/core/storage/_pyarrow_dataset.py +25 -15
  36. lamindb/core/storage/_tiledbsoma.py +56 -12
  37. lamindb/core/storage/paths.py +41 -22
  38. lamindb/core/subsettings/_creation_settings.py +4 -16
  39. lamindb/curators/__init__.py +2168 -833
  40. lamindb/curators/_cellxgene_schemas/__init__.py +26 -0
  41. lamindb/curators/_cellxgene_schemas/schema_versions.yml +104 -0
  42. lamindb/errors.py +96 -0
  43. lamindb/integrations/_vitessce.py +3 -3
  44. lamindb/migrations/0069_squashed.py +76 -75
  45. lamindb/migrations/0075_lamindbv1_part5.py +4 -5
  46. lamindb/migrations/0082_alter_feature_dtype.py +21 -0
  47. lamindb/migrations/0083_alter_feature_is_type_alter_flextable_is_type_and_more.py +94 -0
  48. lamindb/migrations/0084_alter_schemafeature_feature_and_more.py +35 -0
  49. lamindb/migrations/0085_alter_feature_is_type_alter_flextable_is_type_and_more.py +63 -0
  50. lamindb/migrations/0086_various.py +95 -0
  51. lamindb/migrations/0087_rename__schemas_m2m_artifact_feature_sets_and_more.py +41 -0
  52. lamindb/migrations/0088_schema_components.py +273 -0
  53. lamindb/migrations/0088_squashed.py +4372 -0
  54. lamindb/models.py +423 -156
  55. {lamindb-1.0.4.dist-info → lamindb-1.1.0.dist-info}/METADATA +10 -7
  56. lamindb-1.1.0.dist-info/RECORD +95 -0
  57. lamindb/curators/_spatial.py +0 -528
  58. lamindb/migrations/0052_squashed.py +0 -1261
  59. lamindb/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +0 -57
  60. lamindb/migrations/0054_alter_feature_previous_runs_and_more.py +0 -35
  61. lamindb/migrations/0055_artifact_type_artifactparamvalue_and_more.py +0 -61
  62. lamindb/migrations/0056_rename_ulabel_ref_is_name_artifactulabel_label_ref_is_name_and_more.py +0 -22
  63. lamindb/migrations/0057_link_models_latest_report_and_others.py +0 -356
  64. lamindb/migrations/0058_artifact__actions_collection__actions.py +0 -22
  65. lamindb/migrations/0059_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -31
  66. lamindb/migrations/0060_alter_artifact__actions.py +0 -22
  67. lamindb/migrations/0061_alter_collection_meta_artifact_alter_run_environment_and_more.py +0 -45
  68. lamindb/migrations/0062_add_is_latest_field.py +0 -32
  69. lamindb/migrations/0063_populate_latest_field.py +0 -45
  70. lamindb/migrations/0064_alter_artifact_version_alter_collection_version_and_more.py +0 -33
  71. lamindb/migrations/0065_remove_collection_feature_sets_and_more.py +0 -22
  72. lamindb/migrations/0066_alter_artifact__feature_values_and_more.py +0 -352
  73. lamindb/migrations/0067_alter_featurevalue_unique_together_and_more.py +0 -20
  74. lamindb/migrations/0068_alter_artifactulabel_unique_together_and_more.py +0 -20
  75. lamindb/migrations/0069_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -1294
  76. lamindb-1.0.4.dist-info/RECORD +0 -102
  77. {lamindb-1.0.4.dist-info → lamindb-1.1.0.dist-info}/LICENSE +0 -0
  78. {lamindb-1.0.4.dist-info → lamindb-1.1.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,4372 @@
1
+ # Generated by Django 5.2 on 2025-02-14 09:25
2
+
3
+ import django.core.validators
4
+ import django.db.models.deletion
5
+ import django.db.models.functions.datetime
6
+ from django.db import migrations, models
7
+
8
+ import lamindb.base.fields
9
+ import lamindb.base.ids
10
+ import lamindb.base.users
11
+ import lamindb.models
12
+
13
+
14
+ class Migration(migrations.Migration):
15
+ replaces = [
16
+ (
17
+ "lamindb",
18
+ "0037_rename_dataset_to_collection",
19
+ ),
20
+ (
21
+ "lamindb",
22
+ "0038_alter_collection_artifact_alter_collection_artifacts_and_more",
23
+ ),
24
+ (
25
+ "lamindb",
26
+ "0039_remove_collection_artifacts_collectionartifact_and_more",
27
+ ),
28
+ ("lamindb", "0040_alter_transform_type"),
29
+ (
30
+ "lamindb",
31
+ "0041_remove_transform_short_name_transform_description_and_more",
32
+ ),
33
+ ("lamindb", "0042_rename_run_at_run_started_at_run_finished_at"),
34
+ ("lamindb", "0043_run_json"),
35
+ ("lamindb", "0044_run_replicated_outputs_transform_ulabels_and_more"),
36
+ (
37
+ "lamindb",
38
+ "0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more",
39
+ ),
40
+ ("lamindb", "0046_storage_instance_uid"),
41
+ ("lamindb", "0047_featurevalue_artifactfeaturevalue_and_more"),
42
+ ("lamindb", "0048_alter_artifactulabel_feature_and_more"),
43
+ ("lamindb", "0049_rename_type_feature_dtype_and_more"),
44
+ ("lamindb", "0050_artifactfeatureset_feature_ref_is_semantic_and_more"),
45
+ (
46
+ "lamindb",
47
+ "0051_remove_feature_feature_sets_featuresetfeature_and_more",
48
+ ),
49
+ (
50
+ "lamindb",
51
+ "0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more",
52
+ ),
53
+ ("lamindb", "0052_squashed"),
54
+ (
55
+ "lamindb",
56
+ "0053_alter_featureset_hash_alter_paramvalue_created_by_and_more",
57
+ ),
58
+ ("lamindb", "0054_alter_feature_previous_runs_and_more"),
59
+ ("lamindb", "0055_artifact_type_artifactparamvalue_and_more"),
60
+ (
61
+ "lamindb",
62
+ "0056_rename_ulabel_ref_is_name_artifactulabel_label_ref_is_name_and_more",
63
+ ),
64
+ ("lamindb", "0057_link_models_latest_report_and_others"),
65
+ ("lamindb", "0058_artifact__actions_collection__actions"),
66
+ (
67
+ "lamindb",
68
+ "0059_alter_artifact__accessor_alter_artifact__hash_type_and_more",
69
+ ),
70
+ ("lamindb", "0060_alter_artifact__actions"),
71
+ (
72
+ "lamindb",
73
+ "0061_alter_collection_meta_artifact_alter_run_environment_and_more",
74
+ ),
75
+ ("lamindb", "0062_add_is_latest_field"),
76
+ ("lamindb", "0063_populate_latest_field"),
77
+ (
78
+ "lamindb",
79
+ "0064_alter_artifact_version_alter_collection_version_and_more",
80
+ ),
81
+ ("lamindb", "0065_remove_collection_feature_sets_and_more"),
82
+ ("lamindb", "0066_alter_artifact__feature_values_and_more"),
83
+ ("lamindb", "0067_alter_featurevalue_unique_together_and_more"),
84
+ ("lamindb", "0068_alter_artifactulabel_unique_together_and_more"),
85
+ (
86
+ "lamindb",
87
+ "0069_alter_artifact__accessor_alter_artifact__hash_type_and_more",
88
+ ),
89
+ ("lamindb", "0069_squashed"),
90
+ ("lamindb", "0070_lamindbv1_migrate_data"),
91
+ ("lamindb", "0071_lamindbv1_migrate_schema"),
92
+ ("lamindb", "0072_remove_user__branch_code_remove_user_aux_and_more"),
93
+ ("lamindb", "0073_merge_ourprojects"),
94
+ ("lamindb", "0074_lamindbv1_part4"),
95
+ ("lamindb", "0075_lamindbv1_part5"),
96
+ ("lamindb", "0076_lamindbv1_part6"),
97
+ ("lamindb", "0077_lamindbv1_part6b"),
98
+ ("lamindb", "0078_lamindbv1_part6c"),
99
+ ("lamindb", "0079_alter_rundata_value_json_and_more"),
100
+ ("lamindb", "0080_polish_lamindbv1"),
101
+ ("lamindb", "0081_revert_textfield_collection"),
102
+ ("lamindb", "0082_alter_feature_dtype"),
103
+ ("lamindb", "0083_alter_feature_is_type_alter_flextable_is_type_and_more"),
104
+ ("lamindb", "0084_alter_schemafeature_feature_and_more"),
105
+ ("lamindb", "0085_alter_feature_is_type_alter_flextable_is_type_and_more"),
106
+ ("lamindb", "0086_various"),
107
+ ("lamindb", "0087_rename__schemas_m2m_artifact_feature_sets_and_more"),
108
+ ("lamindb", "0088_schema_components"),
109
+ ]
110
+
111
+ dependencies = [] # type: ignore
112
+
113
+ operations = [
114
+ migrations.CreateModel(
115
+ name="Migration",
116
+ fields=[
117
+ (
118
+ "id",
119
+ models.BigAutoField(
120
+ auto_created=True,
121
+ primary_key=True,
122
+ serialize=False,
123
+ verbose_name="ID",
124
+ ),
125
+ ),
126
+ (
127
+ "app",
128
+ lamindb.base.fields.CharField(
129
+ blank=True, default=None, max_length=255
130
+ ),
131
+ ),
132
+ (
133
+ "name",
134
+ lamindb.base.fields.CharField(
135
+ blank=True, default=None, max_length=255
136
+ ),
137
+ ),
138
+ ("applied", lamindb.base.fields.DateTimeField(blank=True)),
139
+ ],
140
+ options={
141
+ "db_table": "django_migrations",
142
+ "managed": False,
143
+ },
144
+ ),
145
+ migrations.CreateModel(
146
+ name="Person",
147
+ fields=[
148
+ (
149
+ "created_at",
150
+ lamindb.base.fields.DateTimeField(
151
+ blank=True,
152
+ db_default=django.db.models.functions.datetime.Now(),
153
+ db_index=True,
154
+ editable=False,
155
+ ),
156
+ ),
157
+ (
158
+ "updated_at",
159
+ lamindb.base.fields.DateTimeField(
160
+ blank=True,
161
+ db_default=django.db.models.functions.datetime.Now(),
162
+ db_index=True,
163
+ editable=False,
164
+ ),
165
+ ),
166
+ (
167
+ "_branch_code",
168
+ models.SmallIntegerField(db_default=1, db_index=True, default=1),
169
+ ),
170
+ (
171
+ "_aux",
172
+ lamindb.base.fields.JSONField(
173
+ blank=True, db_default=None, default=None, null=True
174
+ ),
175
+ ),
176
+ ("id", models.AutoField(primary_key=True, serialize=False)),
177
+ (
178
+ "uid",
179
+ lamindb.base.fields.CharField(
180
+ blank=True,
181
+ db_index=True,
182
+ default=lamindb.base.ids.base62_8,
183
+ editable=False,
184
+ max_length=8,
185
+ unique=True,
186
+ ),
187
+ ),
188
+ (
189
+ "name",
190
+ lamindb.base.fields.CharField(
191
+ blank=True, db_index=True, default=None, max_length=255
192
+ ),
193
+ ),
194
+ (
195
+ "email",
196
+ lamindb.base.fields.EmailField(
197
+ blank=True, default=None, max_length=254, null=True
198
+ ),
199
+ ),
200
+ (
201
+ "external",
202
+ lamindb.base.fields.BooleanField(
203
+ blank=True, db_index=True, default=True
204
+ ),
205
+ ),
206
+ ],
207
+ options={
208
+ "abstract": False,
209
+ },
210
+ bases=(
211
+ lamindb.models.CanCurate,
212
+ models.Model,
213
+ lamindb.models.ValidateFields,
214
+ ),
215
+ ),
216
+ migrations.CreateModel(
217
+ name="Space",
218
+ fields=[
219
+ ("id", models.SmallAutoField(primary_key=True, serialize=False)),
220
+ ("name", models.CharField(db_index=True, max_length=100)),
221
+ (
222
+ "uid",
223
+ lamindb.base.fields.CharField(
224
+ blank=True,
225
+ db_default="00000000",
226
+ db_index=True,
227
+ default="00000000",
228
+ editable=False,
229
+ max_length=12,
230
+ unique=True,
231
+ ),
232
+ ),
233
+ (
234
+ "description",
235
+ lamindb.base.fields.CharField(
236
+ blank=True, default=None, max_length=255, null=True
237
+ ),
238
+ ),
239
+ (
240
+ "created_at",
241
+ lamindb.base.fields.DateTimeField(
242
+ blank=True,
243
+ db_default=django.db.models.functions.datetime.Now(),
244
+ db_index=True,
245
+ editable=False,
246
+ ),
247
+ ),
248
+ ],
249
+ options={
250
+ "abstract": False,
251
+ },
252
+ ),
253
+ migrations.CreateModel(
254
+ name="User",
255
+ fields=[
256
+ ("id", models.AutoField(primary_key=True, serialize=False)),
257
+ (
258
+ "uid",
259
+ lamindb.base.fields.CharField(
260
+ blank=True,
261
+ db_index=True,
262
+ default=None,
263
+ editable=False,
264
+ max_length=8,
265
+ unique=True,
266
+ ),
267
+ ),
268
+ (
269
+ "handle",
270
+ lamindb.base.fields.CharField(
271
+ blank=True,
272
+ db_index=True,
273
+ default=None,
274
+ max_length=30,
275
+ unique=True,
276
+ ),
277
+ ),
278
+ (
279
+ "name",
280
+ lamindb.base.fields.CharField(
281
+ blank=True,
282
+ db_index=True,
283
+ default=None,
284
+ max_length=150,
285
+ null=True,
286
+ ),
287
+ ),
288
+ (
289
+ "created_at",
290
+ lamindb.base.fields.DateTimeField(
291
+ blank=True,
292
+ db_default=django.db.models.functions.datetime.Now(),
293
+ db_index=True,
294
+ editable=False,
295
+ ),
296
+ ),
297
+ (
298
+ "updated_at",
299
+ lamindb.base.fields.DateTimeField(
300
+ blank=True,
301
+ db_default=django.db.models.functions.datetime.Now(),
302
+ db_index=True,
303
+ editable=False,
304
+ ),
305
+ ),
306
+ ],
307
+ options={
308
+ "abstract": False,
309
+ },
310
+ bases=(models.Model, lamindb.models.CanCurate),
311
+ ),
312
+ migrations.CreateModel(
313
+ name="Artifact",
314
+ fields=[
315
+ (
316
+ "version",
317
+ lamindb.base.fields.CharField(
318
+ blank=True,
319
+ db_index=True,
320
+ default=None,
321
+ max_length=30,
322
+ null=True,
323
+ ),
324
+ ),
325
+ (
326
+ "is_latest",
327
+ lamindb.base.fields.BooleanField(
328
+ blank=True, db_index=True, default=True
329
+ ),
330
+ ),
331
+ (
332
+ "created_at",
333
+ lamindb.base.fields.DateTimeField(
334
+ blank=True,
335
+ db_default=django.db.models.functions.datetime.Now(),
336
+ db_index=True,
337
+ editable=False,
338
+ ),
339
+ ),
340
+ (
341
+ "updated_at",
342
+ lamindb.base.fields.DateTimeField(
343
+ blank=True,
344
+ db_default=django.db.models.functions.datetime.Now(),
345
+ db_index=True,
346
+ editable=False,
347
+ ),
348
+ ),
349
+ (
350
+ "_branch_code",
351
+ models.SmallIntegerField(db_default=1, db_index=True, default=1),
352
+ ),
353
+ (
354
+ "_aux",
355
+ lamindb.base.fields.JSONField(
356
+ blank=True, db_default=None, default=None, null=True
357
+ ),
358
+ ),
359
+ ("id", models.AutoField(primary_key=True, serialize=False)),
360
+ (
361
+ "uid",
362
+ lamindb.base.fields.CharField(
363
+ blank=True,
364
+ db_index=True,
365
+ default=None,
366
+ editable=False,
367
+ max_length=20,
368
+ unique=True,
369
+ ),
370
+ ),
371
+ (
372
+ "key",
373
+ lamindb.base.fields.CharField(
374
+ blank=True,
375
+ db_index=True,
376
+ default=None,
377
+ max_length=255,
378
+ null=True,
379
+ ),
380
+ ),
381
+ (
382
+ "description",
383
+ lamindb.base.fields.CharField(
384
+ blank=True,
385
+ db_index=True,
386
+ default=None,
387
+ max_length=255,
388
+ null=True,
389
+ ),
390
+ ),
391
+ (
392
+ "suffix",
393
+ lamindb.base.fields.CharField(
394
+ blank=True,
395
+ db_index=True,
396
+ default=None,
397
+ editable=False,
398
+ max_length=30,
399
+ ),
400
+ ),
401
+ (
402
+ "kind",
403
+ lamindb.base.fields.CharField(
404
+ blank=True,
405
+ db_index=True,
406
+ default=None,
407
+ max_length=20,
408
+ null=True,
409
+ ),
410
+ ),
411
+ (
412
+ "otype",
413
+ lamindb.base.fields.CharField(
414
+ blank=True,
415
+ db_index=True,
416
+ default=None,
417
+ editable=False,
418
+ max_length=64,
419
+ null=True,
420
+ ),
421
+ ),
422
+ (
423
+ "size",
424
+ lamindb.base.fields.BigIntegerField(
425
+ blank=True,
426
+ db_index=True,
427
+ default=None,
428
+ editable=False,
429
+ null=True,
430
+ ),
431
+ ),
432
+ (
433
+ "hash",
434
+ lamindb.base.fields.CharField(
435
+ blank=True,
436
+ db_index=True,
437
+ default=None,
438
+ editable=False,
439
+ max_length=22,
440
+ null=True,
441
+ unique=True,
442
+ ),
443
+ ),
444
+ (
445
+ "n_files",
446
+ lamindb.base.fields.BigIntegerField(
447
+ blank=True,
448
+ db_index=True,
449
+ default=None,
450
+ editable=False,
451
+ null=True,
452
+ ),
453
+ ),
454
+ (
455
+ "n_observations",
456
+ lamindb.base.fields.BigIntegerField(
457
+ blank=True,
458
+ db_index=True,
459
+ default=None,
460
+ editable=False,
461
+ null=True,
462
+ ),
463
+ ),
464
+ (
465
+ "_hash_type",
466
+ lamindb.base.fields.CharField(
467
+ blank=True,
468
+ db_index=True,
469
+ default=None,
470
+ editable=False,
471
+ max_length=30,
472
+ null=True,
473
+ ),
474
+ ),
475
+ (
476
+ "_key_is_virtual",
477
+ lamindb.base.fields.BooleanField(blank=True, default=None),
478
+ ),
479
+ (
480
+ "_overwrite_versions",
481
+ lamindb.base.fields.BooleanField(blank=True, default=None),
482
+ ),
483
+ (
484
+ "_actions",
485
+ models.ManyToManyField(
486
+ related_name="_action_targets", to="lamindb.artifact"
487
+ ),
488
+ ),
489
+ ],
490
+ options={
491
+ "abstract": False,
492
+ },
493
+ ),
494
+ migrations.CreateModel(
495
+ name="Collection",
496
+ fields=[
497
+ (
498
+ "version",
499
+ lamindb.base.fields.CharField(
500
+ blank=True,
501
+ db_index=True,
502
+ default=None,
503
+ max_length=30,
504
+ null=True,
505
+ ),
506
+ ),
507
+ (
508
+ "is_latest",
509
+ lamindb.base.fields.BooleanField(
510
+ blank=True, db_index=True, default=True
511
+ ),
512
+ ),
513
+ (
514
+ "created_at",
515
+ lamindb.base.fields.DateTimeField(
516
+ blank=True,
517
+ db_default=django.db.models.functions.datetime.Now(),
518
+ db_index=True,
519
+ editable=False,
520
+ ),
521
+ ),
522
+ (
523
+ "updated_at",
524
+ lamindb.base.fields.DateTimeField(
525
+ blank=True,
526
+ db_default=django.db.models.functions.datetime.Now(),
527
+ db_index=True,
528
+ editable=False,
529
+ ),
530
+ ),
531
+ (
532
+ "_branch_code",
533
+ models.SmallIntegerField(db_default=1, db_index=True, default=1),
534
+ ),
535
+ (
536
+ "_aux",
537
+ lamindb.base.fields.JSONField(
538
+ blank=True, db_default=None, default=None, null=True
539
+ ),
540
+ ),
541
+ ("id", models.AutoField(primary_key=True, serialize=False)),
542
+ (
543
+ "uid",
544
+ lamindb.base.fields.CharField(
545
+ blank=True,
546
+ db_index=True,
547
+ default=lamindb.base.ids.base62_20,
548
+ editable=False,
549
+ max_length=20,
550
+ unique=True,
551
+ ),
552
+ ),
553
+ (
554
+ "key",
555
+ lamindb.base.fields.CharField(
556
+ blank=True, db_index=True, default=None, max_length=255
557
+ ),
558
+ ),
559
+ (
560
+ "description",
561
+ lamindb.base.fields.TextField(
562
+ blank=True, db_index=True, default=None, null=True
563
+ ),
564
+ ),
565
+ (
566
+ "hash",
567
+ lamindb.base.fields.CharField(
568
+ blank=True,
569
+ db_index=True,
570
+ default=None,
571
+ max_length=22,
572
+ null=True,
573
+ unique=True,
574
+ ),
575
+ ),
576
+ (
577
+ "reference",
578
+ lamindb.base.fields.CharField(
579
+ blank=True,
580
+ db_index=True,
581
+ default=None,
582
+ max_length=255,
583
+ null=True,
584
+ ),
585
+ ),
586
+ (
587
+ "reference_type",
588
+ lamindb.base.fields.CharField(
589
+ blank=True,
590
+ db_index=True,
591
+ default=None,
592
+ max_length=25,
593
+ null=True,
594
+ ),
595
+ ),
596
+ (
597
+ "_actions",
598
+ models.ManyToManyField(related_name="+", to="lamindb.artifact"),
599
+ ),
600
+ (
601
+ "meta_artifact",
602
+ lamindb.base.fields.OneToOneField(
603
+ blank=True,
604
+ null=True,
605
+ on_delete=django.db.models.deletion.PROTECT,
606
+ related_name="_meta_of_collection",
607
+ to="lamindb.artifact",
608
+ ),
609
+ ),
610
+ ],
611
+ options={
612
+ "abstract": False,
613
+ },
614
+ ),
615
+ migrations.CreateModel(
616
+ name="CollectionArtifact",
617
+ fields=[
618
+ (
619
+ "created_at",
620
+ lamindb.base.fields.DateTimeField(
621
+ blank=True,
622
+ db_default=django.db.models.functions.datetime.Now(),
623
+ db_index=True,
624
+ editable=False,
625
+ ),
626
+ ),
627
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
628
+ (
629
+ "artifact",
630
+ lamindb.base.fields.ForeignKey(
631
+ blank=True,
632
+ on_delete=django.db.models.deletion.PROTECT,
633
+ related_name="links_collection",
634
+ to="lamindb.artifact",
635
+ ),
636
+ ),
637
+ (
638
+ "collection",
639
+ lamindb.base.fields.ForeignKey(
640
+ blank=True,
641
+ on_delete=django.db.models.deletion.CASCADE,
642
+ related_name="links_artifact",
643
+ to="lamindb.collection",
644
+ ),
645
+ ),
646
+ ],
647
+ bases=(lamindb.models.LinkORM, models.Model),
648
+ ),
649
+ migrations.AddField(
650
+ model_name="collection",
651
+ name="artifacts",
652
+ field=models.ManyToManyField(
653
+ related_name="collections",
654
+ through="lamindb.CollectionArtifact",
655
+ to="lamindb.artifact",
656
+ ),
657
+ ),
658
+ migrations.CreateModel(
659
+ name="CollectionProject",
660
+ fields=[
661
+ (
662
+ "created_at",
663
+ lamindb.base.fields.DateTimeField(
664
+ blank=True,
665
+ db_default=django.db.models.functions.datetime.Now(),
666
+ db_index=True,
667
+ editable=False,
668
+ ),
669
+ ),
670
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
671
+ (
672
+ "collection",
673
+ lamindb.base.fields.ForeignKey(
674
+ blank=True,
675
+ on_delete=django.db.models.deletion.CASCADE,
676
+ related_name="links_project",
677
+ to="lamindb.collection",
678
+ ),
679
+ ),
680
+ ],
681
+ bases=(lamindb.models.LinkORM, models.Model),
682
+ ),
683
+ migrations.CreateModel(
684
+ name="CollectionReference",
685
+ fields=[
686
+ (
687
+ "created_at",
688
+ lamindb.base.fields.DateTimeField(
689
+ blank=True,
690
+ db_default=django.db.models.functions.datetime.Now(),
691
+ db_index=True,
692
+ editable=False,
693
+ ),
694
+ ),
695
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
696
+ (
697
+ "collection",
698
+ lamindb.base.fields.ForeignKey(
699
+ blank=True,
700
+ on_delete=django.db.models.deletion.CASCADE,
701
+ related_name="links_reference",
702
+ to="lamindb.collection",
703
+ ),
704
+ ),
705
+ ],
706
+ bases=(lamindb.models.LinkORM, models.Model),
707
+ ),
708
+ migrations.CreateModel(
709
+ name="Feature",
710
+ fields=[
711
+ (
712
+ "created_at",
713
+ lamindb.base.fields.DateTimeField(
714
+ blank=True,
715
+ db_default=django.db.models.functions.datetime.Now(),
716
+ db_index=True,
717
+ editable=False,
718
+ ),
719
+ ),
720
+ (
721
+ "updated_at",
722
+ lamindb.base.fields.DateTimeField(
723
+ blank=True,
724
+ db_default=django.db.models.functions.datetime.Now(),
725
+ db_index=True,
726
+ editable=False,
727
+ ),
728
+ ),
729
+ (
730
+ "_branch_code",
731
+ models.SmallIntegerField(db_default=1, db_index=True, default=1),
732
+ ),
733
+ (
734
+ "_aux",
735
+ lamindb.base.fields.JSONField(
736
+ blank=True, db_default=None, default=None, null=True
737
+ ),
738
+ ),
739
+ ("id", models.AutoField(primary_key=True, serialize=False)),
740
+ (
741
+ "uid",
742
+ lamindb.base.fields.CharField(
743
+ blank=True,
744
+ db_index=True,
745
+ default=lamindb.base.ids.base62_12,
746
+ editable=False,
747
+ max_length=12,
748
+ unique=True,
749
+ ),
750
+ ),
751
+ (
752
+ "name",
753
+ lamindb.base.fields.CharField(
754
+ blank=True,
755
+ db_index=True,
756
+ default=None,
757
+ max_length=150,
758
+ unique=True,
759
+ ),
760
+ ),
761
+ (
762
+ "dtype",
763
+ lamindb.base.fields.CharField(
764
+ blank=True,
765
+ db_index=True,
766
+ default=None,
767
+ max_length=255,
768
+ null=True,
769
+ ),
770
+ ),
771
+ (
772
+ "is_type",
773
+ lamindb.base.fields.BooleanField(
774
+ blank=True, db_index=True, default=False, null=True
775
+ ),
776
+ ),
777
+ (
778
+ "unit",
779
+ lamindb.base.fields.CharField(
780
+ blank=True,
781
+ db_index=True,
782
+ default=None,
783
+ max_length=30,
784
+ null=True,
785
+ ),
786
+ ),
787
+ (
788
+ "description",
789
+ lamindb.base.fields.CharField(
790
+ blank=True,
791
+ db_index=True,
792
+ default=None,
793
+ max_length=255,
794
+ null=True,
795
+ ),
796
+ ),
797
+ ("array_rank", models.SmallIntegerField(db_index=True, default=0)),
798
+ ("array_size", models.IntegerField(db_index=True, default=0)),
799
+ (
800
+ "array_shape",
801
+ lamindb.base.fields.JSONField(
802
+ blank=True, db_default=None, default=None, null=True
803
+ ),
804
+ ),
805
+ (
806
+ "proxy_dtype",
807
+ lamindb.base.fields.CharField(
808
+ blank=True, default=None, max_length=255, null=True
809
+ ),
810
+ ),
811
+ (
812
+ "synonyms",
813
+ lamindb.base.fields.TextField(blank=True, default=None, null=True),
814
+ ),
815
+ ("_expect_many", models.BooleanField(db_default=True, default=True)),
816
+ (
817
+ "_curation",
818
+ lamindb.base.fields.JSONField(
819
+ blank=True, db_default=None, default=None, null=True
820
+ ),
821
+ ),
822
+ (
823
+ "type",
824
+ lamindb.base.fields.ForeignKey(
825
+ blank=True,
826
+ null=True,
827
+ on_delete=django.db.models.deletion.PROTECT,
828
+ related_name="records",
829
+ to="lamindb.feature",
830
+ ),
831
+ ),
832
+ ],
833
+ options={
834
+ "abstract": False,
835
+ },
836
+ bases=(lamindb.models.CanCurate, models.Model),
837
+ ),
838
+ migrations.CreateModel(
839
+ name="ArtifactReference",
840
+ fields=[
841
+ (
842
+ "created_at",
843
+ lamindb.base.fields.DateTimeField(
844
+ blank=True,
845
+ db_default=django.db.models.functions.datetime.Now(),
846
+ db_index=True,
847
+ editable=False,
848
+ ),
849
+ ),
850
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
851
+ (
852
+ "label_ref_is_name",
853
+ lamindb.base.fields.BooleanField(
854
+ blank=True, default=None, null=True
855
+ ),
856
+ ),
857
+ (
858
+ "feature_ref_is_name",
859
+ lamindb.base.fields.BooleanField(
860
+ blank=True, default=None, null=True
861
+ ),
862
+ ),
863
+ (
864
+ "artifact",
865
+ lamindb.base.fields.ForeignKey(
866
+ blank=True,
867
+ on_delete=django.db.models.deletion.CASCADE,
868
+ related_name="links_reference",
869
+ to="lamindb.artifact",
870
+ ),
871
+ ),
872
+ (
873
+ "feature",
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="links_artifactreference",
880
+ to="lamindb.feature",
881
+ ),
882
+ ),
883
+ ],
884
+ bases=(lamindb.models.LinkORM, models.Model),
885
+ ),
886
+ migrations.CreateModel(
887
+ name="ArtifactProject",
888
+ fields=[
889
+ (
890
+ "created_at",
891
+ lamindb.base.fields.DateTimeField(
892
+ blank=True,
893
+ db_default=django.db.models.functions.datetime.Now(),
894
+ db_index=True,
895
+ editable=False,
896
+ ),
897
+ ),
898
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
899
+ (
900
+ "label_ref_is_name",
901
+ lamindb.base.fields.BooleanField(
902
+ blank=True, default=None, null=True
903
+ ),
904
+ ),
905
+ (
906
+ "feature_ref_is_name",
907
+ lamindb.base.fields.BooleanField(
908
+ blank=True, default=None, null=True
909
+ ),
910
+ ),
911
+ (
912
+ "artifact",
913
+ lamindb.base.fields.ForeignKey(
914
+ blank=True,
915
+ on_delete=django.db.models.deletion.CASCADE,
916
+ related_name="links_project",
917
+ to="lamindb.artifact",
918
+ ),
919
+ ),
920
+ (
921
+ "feature",
922
+ lamindb.base.fields.ForeignKey(
923
+ blank=True,
924
+ default=None,
925
+ null=True,
926
+ on_delete=django.db.models.deletion.PROTECT,
927
+ related_name="links_artifactproject",
928
+ to="lamindb.feature",
929
+ ),
930
+ ),
931
+ ],
932
+ bases=(lamindb.models.LinkORM, models.Model),
933
+ ),
934
+ migrations.CreateModel(
935
+ name="FeatureProject",
936
+ fields=[
937
+ (
938
+ "created_at",
939
+ lamindb.base.fields.DateTimeField(
940
+ blank=True,
941
+ db_default=django.db.models.functions.datetime.Now(),
942
+ db_index=True,
943
+ editable=False,
944
+ ),
945
+ ),
946
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
947
+ (
948
+ "feature",
949
+ lamindb.base.fields.ForeignKey(
950
+ blank=True,
951
+ on_delete=django.db.models.deletion.CASCADE,
952
+ related_name="links_project",
953
+ to="lamindb.feature",
954
+ ),
955
+ ),
956
+ ],
957
+ bases=(lamindb.models.LinkORM, models.Model),
958
+ ),
959
+ migrations.CreateModel(
960
+ name="FeatureValue",
961
+ fields=[
962
+ (
963
+ "id",
964
+ models.BigAutoField(
965
+ auto_created=True,
966
+ primary_key=True,
967
+ serialize=False,
968
+ verbose_name="ID",
969
+ ),
970
+ ),
971
+ (
972
+ "created_at",
973
+ lamindb.base.fields.DateTimeField(
974
+ blank=True,
975
+ db_default=django.db.models.functions.datetime.Now(),
976
+ db_index=True,
977
+ editable=False,
978
+ ),
979
+ ),
980
+ (
981
+ "_branch_code",
982
+ models.SmallIntegerField(db_default=1, db_index=True, default=1),
983
+ ),
984
+ (
985
+ "_aux",
986
+ lamindb.base.fields.JSONField(
987
+ blank=True, db_default=None, default=None, null=True
988
+ ),
989
+ ),
990
+ ("value", models.JSONField()),
991
+ (
992
+ "hash",
993
+ lamindb.base.fields.CharField(
994
+ blank=True,
995
+ db_index=True,
996
+ default=None,
997
+ max_length=22,
998
+ null=True,
999
+ ),
1000
+ ),
1001
+ (
1002
+ "feature",
1003
+ lamindb.base.fields.ForeignKey(
1004
+ blank=True,
1005
+ default=None,
1006
+ null=True,
1007
+ on_delete=django.db.models.deletion.CASCADE,
1008
+ related_name="values",
1009
+ to="lamindb.feature",
1010
+ ),
1011
+ ),
1012
+ ],
1013
+ options={
1014
+ "abstract": False,
1015
+ },
1016
+ ),
1017
+ migrations.CreateModel(
1018
+ name="ArtifactFeatureValue",
1019
+ fields=[
1020
+ (
1021
+ "created_at",
1022
+ lamindb.base.fields.DateTimeField(
1023
+ blank=True,
1024
+ db_default=django.db.models.functions.datetime.Now(),
1025
+ db_index=True,
1026
+ editable=False,
1027
+ ),
1028
+ ),
1029
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
1030
+ (
1031
+ "artifact",
1032
+ lamindb.base.fields.ForeignKey(
1033
+ blank=True,
1034
+ on_delete=django.db.models.deletion.CASCADE,
1035
+ related_name="+",
1036
+ to="lamindb.artifact",
1037
+ ),
1038
+ ),
1039
+ (
1040
+ "featurevalue",
1041
+ lamindb.base.fields.ForeignKey(
1042
+ blank=True,
1043
+ on_delete=django.db.models.deletion.PROTECT,
1044
+ related_name="+",
1045
+ to="lamindb.featurevalue",
1046
+ ),
1047
+ ),
1048
+ ],
1049
+ bases=(lamindb.models.LinkORM, models.Model),
1050
+ ),
1051
+ migrations.AddField(
1052
+ model_name="artifact",
1053
+ name="_feature_values",
1054
+ field=models.ManyToManyField(
1055
+ related_name="artifacts",
1056
+ through="lamindb.ArtifactFeatureValue",
1057
+ to="lamindb.featurevalue",
1058
+ ),
1059
+ ),
1060
+ migrations.CreateModel(
1061
+ name="Param",
1062
+ fields=[
1063
+ (
1064
+ "id",
1065
+ models.BigAutoField(
1066
+ auto_created=True,
1067
+ primary_key=True,
1068
+ serialize=False,
1069
+ verbose_name="ID",
1070
+ ),
1071
+ ),
1072
+ (
1073
+ "created_at",
1074
+ lamindb.base.fields.DateTimeField(
1075
+ blank=True,
1076
+ db_default=django.db.models.functions.datetime.Now(),
1077
+ db_index=True,
1078
+ editable=False,
1079
+ ),
1080
+ ),
1081
+ (
1082
+ "updated_at",
1083
+ lamindb.base.fields.DateTimeField(
1084
+ blank=True,
1085
+ db_default=django.db.models.functions.datetime.Now(),
1086
+ db_index=True,
1087
+ editable=False,
1088
+ ),
1089
+ ),
1090
+ (
1091
+ "_branch_code",
1092
+ models.SmallIntegerField(db_default=1, db_index=True, default=1),
1093
+ ),
1094
+ (
1095
+ "_aux",
1096
+ lamindb.base.fields.JSONField(
1097
+ blank=True, db_default=None, default=None, null=True
1098
+ ),
1099
+ ),
1100
+ (
1101
+ "name",
1102
+ lamindb.base.fields.CharField(
1103
+ blank=True, db_index=True, default=None, max_length=100
1104
+ ),
1105
+ ),
1106
+ (
1107
+ "dtype",
1108
+ lamindb.base.fields.CharField(
1109
+ blank=True,
1110
+ db_index=True,
1111
+ default=None,
1112
+ max_length=255,
1113
+ null=True,
1114
+ ),
1115
+ ),
1116
+ (
1117
+ "is_type",
1118
+ lamindb.base.fields.BooleanField(
1119
+ blank=True, db_index=True, default=False, null=True
1120
+ ),
1121
+ ),
1122
+ ("_expect_many", models.BooleanField(db_default=False, default=False)),
1123
+ (
1124
+ "type",
1125
+ lamindb.base.fields.ForeignKey(
1126
+ blank=True,
1127
+ null=True,
1128
+ on_delete=django.db.models.deletion.PROTECT,
1129
+ related_name="records",
1130
+ to="lamindb.param",
1131
+ ),
1132
+ ),
1133
+ ],
1134
+ options={
1135
+ "abstract": False,
1136
+ },
1137
+ bases=(lamindb.models.CanCurate, models.Model),
1138
+ ),
1139
+ migrations.CreateModel(
1140
+ name="ParamValue",
1141
+ fields=[
1142
+ (
1143
+ "id",
1144
+ models.BigAutoField(
1145
+ auto_created=True,
1146
+ primary_key=True,
1147
+ serialize=False,
1148
+ verbose_name="ID",
1149
+ ),
1150
+ ),
1151
+ (
1152
+ "_branch_code",
1153
+ models.SmallIntegerField(db_default=1, db_index=True, default=1),
1154
+ ),
1155
+ (
1156
+ "_aux",
1157
+ lamindb.base.fields.JSONField(
1158
+ blank=True, db_default=None, default=None, null=True
1159
+ ),
1160
+ ),
1161
+ ("value", models.JSONField()),
1162
+ (
1163
+ "created_at",
1164
+ lamindb.base.fields.DateTimeField(
1165
+ blank=True,
1166
+ db_default=django.db.models.functions.datetime.Now(),
1167
+ db_index=True,
1168
+ editable=False,
1169
+ ),
1170
+ ),
1171
+ (
1172
+ "hash",
1173
+ lamindb.base.fields.CharField(
1174
+ blank=True,
1175
+ db_index=True,
1176
+ default=None,
1177
+ max_length=22,
1178
+ null=True,
1179
+ ),
1180
+ ),
1181
+ (
1182
+ "param",
1183
+ lamindb.base.fields.ForeignKey(
1184
+ blank=True,
1185
+ on_delete=django.db.models.deletion.CASCADE,
1186
+ related_name="values",
1187
+ to="lamindb.param",
1188
+ ),
1189
+ ),
1190
+ (
1191
+ "space",
1192
+ lamindb.base.fields.ForeignKey(
1193
+ blank=True,
1194
+ db_default=1,
1195
+ default=1,
1196
+ on_delete=django.db.models.deletion.PROTECT,
1197
+ to="lamindb.space",
1198
+ ),
1199
+ ),
1200
+ (
1201
+ "created_by",
1202
+ lamindb.base.fields.ForeignKey(
1203
+ blank=True,
1204
+ default=lamindb.base.users.current_user_id,
1205
+ on_delete=django.db.models.deletion.PROTECT,
1206
+ related_name="+",
1207
+ to="lamindb.user",
1208
+ ),
1209
+ ),
1210
+ ],
1211
+ ),
1212
+ migrations.CreateModel(
1213
+ name="ArtifactParamValue",
1214
+ fields=[
1215
+ (
1216
+ "created_at",
1217
+ lamindb.base.fields.DateTimeField(
1218
+ blank=True,
1219
+ db_default=django.db.models.functions.datetime.Now(),
1220
+ db_index=True,
1221
+ editable=False,
1222
+ ),
1223
+ ),
1224
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
1225
+ (
1226
+ "artifact",
1227
+ lamindb.base.fields.ForeignKey(
1228
+ blank=True,
1229
+ on_delete=django.db.models.deletion.CASCADE,
1230
+ related_name="+",
1231
+ to="lamindb.artifact",
1232
+ ),
1233
+ ),
1234
+ (
1235
+ "paramvalue",
1236
+ lamindb.base.fields.ForeignKey(
1237
+ blank=True,
1238
+ on_delete=django.db.models.deletion.PROTECT,
1239
+ related_name="+",
1240
+ to="lamindb.paramvalue",
1241
+ ),
1242
+ ),
1243
+ ],
1244
+ bases=(lamindb.models.LinkORM, models.Model),
1245
+ ),
1246
+ migrations.AddField(
1247
+ model_name="artifact",
1248
+ name="_param_values",
1249
+ field=models.ManyToManyField(
1250
+ related_name="artifacts",
1251
+ through="lamindb.ArtifactParamValue",
1252
+ to="lamindb.paramvalue",
1253
+ ),
1254
+ ),
1255
+ migrations.CreateModel(
1256
+ name="PersonProject",
1257
+ fields=[
1258
+ (
1259
+ "created_at",
1260
+ lamindb.base.fields.DateTimeField(
1261
+ blank=True,
1262
+ db_default=django.db.models.functions.datetime.Now(),
1263
+ db_index=True,
1264
+ editable=False,
1265
+ ),
1266
+ ),
1267
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
1268
+ (
1269
+ "role",
1270
+ lamindb.base.fields.CharField(
1271
+ blank=True, default=None, max_length=255, null=True
1272
+ ),
1273
+ ),
1274
+ (
1275
+ "person",
1276
+ lamindb.base.fields.ForeignKey(
1277
+ blank=True,
1278
+ on_delete=django.db.models.deletion.CASCADE,
1279
+ related_name="links_project",
1280
+ to="lamindb.person",
1281
+ ),
1282
+ ),
1283
+ ],
1284
+ bases=(lamindb.models.LinkORM, models.Model),
1285
+ ),
1286
+ migrations.CreateModel(
1287
+ name="Project",
1288
+ fields=[
1289
+ (
1290
+ "created_at",
1291
+ lamindb.base.fields.DateTimeField(
1292
+ blank=True,
1293
+ db_default=django.db.models.functions.datetime.Now(),
1294
+ db_index=True,
1295
+ editable=False,
1296
+ ),
1297
+ ),
1298
+ (
1299
+ "updated_at",
1300
+ lamindb.base.fields.DateTimeField(
1301
+ blank=True,
1302
+ db_default=django.db.models.functions.datetime.Now(),
1303
+ db_index=True,
1304
+ editable=False,
1305
+ ),
1306
+ ),
1307
+ (
1308
+ "_branch_code",
1309
+ models.SmallIntegerField(db_default=1, db_index=True, default=1),
1310
+ ),
1311
+ (
1312
+ "_aux",
1313
+ lamindb.base.fields.JSONField(
1314
+ blank=True, db_default=None, default=None, null=True
1315
+ ),
1316
+ ),
1317
+ ("id", models.AutoField(primary_key=True, serialize=False)),
1318
+ (
1319
+ "uid",
1320
+ lamindb.base.fields.CharField(
1321
+ blank=True,
1322
+ db_index=True,
1323
+ default=lamindb.base.ids.base62_12,
1324
+ editable=False,
1325
+ max_length=12,
1326
+ unique=True,
1327
+ ),
1328
+ ),
1329
+ (
1330
+ "name",
1331
+ lamindb.base.fields.CharField(
1332
+ blank=True, db_index=True, default=None, max_length=255
1333
+ ),
1334
+ ),
1335
+ (
1336
+ "is_type",
1337
+ lamindb.base.fields.BooleanField(
1338
+ blank=True, db_index=True, default=False, null=True
1339
+ ),
1340
+ ),
1341
+ (
1342
+ "abbr",
1343
+ lamindb.base.fields.CharField(
1344
+ blank=True,
1345
+ db_index=True,
1346
+ default=None,
1347
+ max_length=32,
1348
+ null=True,
1349
+ ),
1350
+ ),
1351
+ (
1352
+ "url",
1353
+ lamindb.base.fields.URLField(
1354
+ blank=True, default=None, max_length=255, null=True
1355
+ ),
1356
+ ),
1357
+ (
1358
+ "start_date",
1359
+ lamindb.base.fields.DateField(blank=True, default=None, null=True),
1360
+ ),
1361
+ (
1362
+ "end_date",
1363
+ lamindb.base.fields.DateField(blank=True, default=None, null=True),
1364
+ ),
1365
+ ("_status_code", models.SmallIntegerField(db_index=True, default=0)),
1366
+ (
1367
+ "artifacts",
1368
+ models.ManyToManyField(
1369
+ related_name="projects",
1370
+ through="lamindb.ArtifactProject",
1371
+ to="lamindb.artifact",
1372
+ ),
1373
+ ),
1374
+ (
1375
+ "collections",
1376
+ models.ManyToManyField(
1377
+ related_name="projects",
1378
+ through="lamindb.CollectionProject",
1379
+ to="lamindb.collection",
1380
+ ),
1381
+ ),
1382
+ (
1383
+ "features",
1384
+ models.ManyToManyField(
1385
+ related_name="projects",
1386
+ through="lamindb.FeatureProject",
1387
+ to="lamindb.feature",
1388
+ ),
1389
+ ),
1390
+ (
1391
+ "parents",
1392
+ models.ManyToManyField(
1393
+ related_name="children", to="lamindb.project"
1394
+ ),
1395
+ ),
1396
+ (
1397
+ "people",
1398
+ models.ManyToManyField(
1399
+ related_name="projects",
1400
+ through="lamindb.PersonProject",
1401
+ to="lamindb.person",
1402
+ ),
1403
+ ),
1404
+ (
1405
+ "predecessors",
1406
+ models.ManyToManyField(
1407
+ related_name="successors", to="lamindb.project"
1408
+ ),
1409
+ ),
1410
+ (
1411
+ "type",
1412
+ lamindb.base.fields.ForeignKey(
1413
+ blank=True,
1414
+ null=True,
1415
+ on_delete=django.db.models.deletion.PROTECT,
1416
+ related_name="records",
1417
+ to="lamindb.project",
1418
+ ),
1419
+ ),
1420
+ ],
1421
+ options={
1422
+ "abstract": False,
1423
+ },
1424
+ bases=(
1425
+ lamindb.models.CanCurate,
1426
+ models.Model,
1427
+ lamindb.models.ValidateFields,
1428
+ ),
1429
+ ),
1430
+ migrations.AddField(
1431
+ model_name="personproject",
1432
+ name="project",
1433
+ field=lamindb.base.fields.ForeignKey(
1434
+ blank=True,
1435
+ on_delete=django.db.models.deletion.PROTECT,
1436
+ related_name="links_person",
1437
+ to="lamindb.project",
1438
+ ),
1439
+ ),
1440
+ migrations.AddField(
1441
+ model_name="featureproject",
1442
+ name="project",
1443
+ field=lamindb.base.fields.ForeignKey(
1444
+ blank=True,
1445
+ on_delete=django.db.models.deletion.PROTECT,
1446
+ related_name="links_feature",
1447
+ to="lamindb.project",
1448
+ ),
1449
+ ),
1450
+ migrations.AddField(
1451
+ model_name="collectionproject",
1452
+ name="project",
1453
+ field=lamindb.base.fields.ForeignKey(
1454
+ blank=True,
1455
+ on_delete=django.db.models.deletion.PROTECT,
1456
+ related_name="links_collection",
1457
+ to="lamindb.project",
1458
+ ),
1459
+ ),
1460
+ migrations.AddField(
1461
+ model_name="artifactproject",
1462
+ name="project",
1463
+ field=lamindb.base.fields.ForeignKey(
1464
+ blank=True,
1465
+ on_delete=django.db.models.deletion.PROTECT,
1466
+ related_name="links_artifact",
1467
+ to="lamindb.project",
1468
+ ),
1469
+ ),
1470
+ migrations.CreateModel(
1471
+ name="Reference",
1472
+ fields=[
1473
+ (
1474
+ "created_at",
1475
+ lamindb.base.fields.DateTimeField(
1476
+ blank=True,
1477
+ db_default=django.db.models.functions.datetime.Now(),
1478
+ db_index=True,
1479
+ editable=False,
1480
+ ),
1481
+ ),
1482
+ (
1483
+ "updated_at",
1484
+ lamindb.base.fields.DateTimeField(
1485
+ blank=True,
1486
+ db_default=django.db.models.functions.datetime.Now(),
1487
+ db_index=True,
1488
+ editable=False,
1489
+ ),
1490
+ ),
1491
+ (
1492
+ "_branch_code",
1493
+ models.SmallIntegerField(db_default=1, db_index=True, default=1),
1494
+ ),
1495
+ (
1496
+ "_aux",
1497
+ lamindb.base.fields.JSONField(
1498
+ blank=True, db_default=None, default=None, null=True
1499
+ ),
1500
+ ),
1501
+ ("id", models.AutoField(primary_key=True, serialize=False)),
1502
+ (
1503
+ "uid",
1504
+ lamindb.base.fields.CharField(
1505
+ blank=True,
1506
+ db_index=True,
1507
+ default=lamindb.base.ids.base62_12,
1508
+ editable=False,
1509
+ max_length=12,
1510
+ unique=True,
1511
+ ),
1512
+ ),
1513
+ (
1514
+ "name",
1515
+ lamindb.base.fields.CharField(
1516
+ blank=True, db_index=True, default=None, max_length=255
1517
+ ),
1518
+ ),
1519
+ (
1520
+ "abbr",
1521
+ lamindb.base.fields.CharField(
1522
+ blank=True,
1523
+ db_index=True,
1524
+ default=None,
1525
+ max_length=32,
1526
+ null=True,
1527
+ ),
1528
+ ),
1529
+ (
1530
+ "is_type",
1531
+ lamindb.base.fields.BooleanField(
1532
+ blank=True, db_index=True, default=False, null=True
1533
+ ),
1534
+ ),
1535
+ ("url", lamindb.base.fields.URLField(blank=True, null=True)),
1536
+ (
1537
+ "pubmed_id",
1538
+ lamindb.base.fields.BigIntegerField(
1539
+ blank=True, db_index=True, default=None, null=True
1540
+ ),
1541
+ ),
1542
+ (
1543
+ "doi",
1544
+ lamindb.base.fields.CharField(
1545
+ blank=True,
1546
+ db_index=True,
1547
+ default=None,
1548
+ max_length=255,
1549
+ null=True,
1550
+ validators=[
1551
+ django.core.validators.RegexValidator(
1552
+ message="Must be a DOI (e.g., 10.1000/xyz123 or https://doi.org/10.1000/xyz123)",
1553
+ regex="^(?:https?://(?:dx\\.)?doi\\.org/|doi:|DOI:)?10\\.\\d+/.*$",
1554
+ )
1555
+ ],
1556
+ ),
1557
+ ),
1558
+ (
1559
+ "description",
1560
+ lamindb.base.fields.CharField(
1561
+ blank=True,
1562
+ db_index=True,
1563
+ default=None,
1564
+ max_length=255,
1565
+ null=True,
1566
+ ),
1567
+ ),
1568
+ (
1569
+ "text",
1570
+ lamindb.base.fields.TextField(blank=True, default=None, null=True),
1571
+ ),
1572
+ (
1573
+ "date",
1574
+ lamindb.base.fields.DateField(blank=True, default=None, null=True),
1575
+ ),
1576
+ (
1577
+ "artifacts",
1578
+ models.ManyToManyField(
1579
+ related_name="references",
1580
+ through="lamindb.ArtifactReference",
1581
+ to="lamindb.artifact",
1582
+ ),
1583
+ ),
1584
+ (
1585
+ "authors",
1586
+ models.ManyToManyField(
1587
+ related_name="references", to="lamindb.person"
1588
+ ),
1589
+ ),
1590
+ (
1591
+ "collections",
1592
+ models.ManyToManyField(
1593
+ related_name="references",
1594
+ through="lamindb.CollectionReference",
1595
+ to="lamindb.collection",
1596
+ ),
1597
+ ),
1598
+ (
1599
+ "type",
1600
+ lamindb.base.fields.ForeignKey(
1601
+ blank=True,
1602
+ null=True,
1603
+ on_delete=django.db.models.deletion.PROTECT,
1604
+ related_name="records",
1605
+ to="lamindb.reference",
1606
+ ),
1607
+ ),
1608
+ ],
1609
+ options={
1610
+ "abstract": False,
1611
+ },
1612
+ bases=(
1613
+ lamindb.models.CanCurate,
1614
+ models.Model,
1615
+ lamindb.models.ValidateFields,
1616
+ ),
1617
+ ),
1618
+ migrations.AddField(
1619
+ model_name="project",
1620
+ name="references",
1621
+ field=models.ManyToManyField(
1622
+ related_name="projects", to="lamindb.reference"
1623
+ ),
1624
+ ),
1625
+ migrations.AddField(
1626
+ model_name="collectionreference",
1627
+ name="reference",
1628
+ field=lamindb.base.fields.ForeignKey(
1629
+ blank=True,
1630
+ on_delete=django.db.models.deletion.PROTECT,
1631
+ related_name="links_collection",
1632
+ to="lamindb.reference",
1633
+ ),
1634
+ ),
1635
+ migrations.AddField(
1636
+ model_name="artifactreference",
1637
+ name="reference",
1638
+ field=lamindb.base.fields.ForeignKey(
1639
+ blank=True,
1640
+ on_delete=django.db.models.deletion.PROTECT,
1641
+ related_name="links_artifact",
1642
+ to="lamindb.reference",
1643
+ ),
1644
+ ),
1645
+ migrations.CreateModel(
1646
+ name="Run",
1647
+ fields=[
1648
+ (
1649
+ "_branch_code",
1650
+ models.SmallIntegerField(db_default=1, db_index=True, default=1),
1651
+ ),
1652
+ (
1653
+ "_aux",
1654
+ lamindb.base.fields.JSONField(
1655
+ blank=True, db_default=None, default=None, null=True
1656
+ ),
1657
+ ),
1658
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
1659
+ (
1660
+ "uid",
1661
+ lamindb.base.fields.CharField(
1662
+ blank=True,
1663
+ db_index=True,
1664
+ default=lamindb.base.ids.base62_20,
1665
+ editable=False,
1666
+ max_length=20,
1667
+ unique=True,
1668
+ ),
1669
+ ),
1670
+ (
1671
+ "name",
1672
+ lamindb.base.fields.CharField(
1673
+ blank=True, default=None, max_length=150, null=True
1674
+ ),
1675
+ ),
1676
+ (
1677
+ "started_at",
1678
+ lamindb.base.fields.DateTimeField(
1679
+ blank=True,
1680
+ db_default=django.db.models.functions.datetime.Now(),
1681
+ db_index=True,
1682
+ editable=False,
1683
+ ),
1684
+ ),
1685
+ (
1686
+ "finished_at",
1687
+ lamindb.base.fields.DateTimeField(
1688
+ blank=True, db_index=True, default=None, null=True
1689
+ ),
1690
+ ),
1691
+ (
1692
+ "reference",
1693
+ lamindb.base.fields.CharField(
1694
+ blank=True,
1695
+ db_index=True,
1696
+ default=None,
1697
+ max_length=255,
1698
+ null=True,
1699
+ ),
1700
+ ),
1701
+ (
1702
+ "reference_type",
1703
+ lamindb.base.fields.CharField(
1704
+ blank=True,
1705
+ db_index=True,
1706
+ default=None,
1707
+ max_length=25,
1708
+ null=True,
1709
+ ),
1710
+ ),
1711
+ (
1712
+ "created_at",
1713
+ lamindb.base.fields.DateTimeField(
1714
+ blank=True,
1715
+ db_default=django.db.models.functions.datetime.Now(),
1716
+ db_index=True,
1717
+ editable=False,
1718
+ ),
1719
+ ),
1720
+ (
1721
+ "_is_consecutive",
1722
+ lamindb.base.fields.BooleanField(
1723
+ blank=True, default=None, null=True
1724
+ ),
1725
+ ),
1726
+ ("_status_code", models.SmallIntegerField(db_index=True, default=0)),
1727
+ (
1728
+ "_logfile",
1729
+ lamindb.base.fields.ForeignKey(
1730
+ blank=True,
1731
+ default=None,
1732
+ null=True,
1733
+ on_delete=django.db.models.deletion.PROTECT,
1734
+ related_name="_logfile_of",
1735
+ to="lamindb.artifact",
1736
+ ),
1737
+ ),
1738
+ (
1739
+ "environment",
1740
+ lamindb.base.fields.ForeignKey(
1741
+ blank=True,
1742
+ default=None,
1743
+ null=True,
1744
+ on_delete=django.db.models.deletion.PROTECT,
1745
+ related_name="_environment_of",
1746
+ to="lamindb.artifact",
1747
+ ),
1748
+ ),
1749
+ (
1750
+ "initiated_by_run",
1751
+ lamindb.base.fields.ForeignKey(
1752
+ blank=True,
1753
+ default=None,
1754
+ null=True,
1755
+ on_delete=django.db.models.deletion.CASCADE,
1756
+ related_name="initiated_runs",
1757
+ to="lamindb.run",
1758
+ ),
1759
+ ),
1760
+ (
1761
+ "report",
1762
+ lamindb.base.fields.ForeignKey(
1763
+ blank=True,
1764
+ default=None,
1765
+ null=True,
1766
+ on_delete=django.db.models.deletion.PROTECT,
1767
+ related_name="_report_of",
1768
+ to="lamindb.artifact",
1769
+ ),
1770
+ ),
1771
+ ],
1772
+ options={
1773
+ "abstract": False,
1774
+ },
1775
+ ),
1776
+ migrations.AddField(
1777
+ model_name="reference",
1778
+ name="run",
1779
+ field=lamindb.base.fields.ForeignKey(
1780
+ blank=True,
1781
+ default=lamindb.models.current_run,
1782
+ null=True,
1783
+ on_delete=django.db.models.deletion.PROTECT,
1784
+ related_name="+",
1785
+ to="lamindb.run",
1786
+ ),
1787
+ ),
1788
+ migrations.AddField(
1789
+ model_name="project",
1790
+ name="run",
1791
+ field=lamindb.base.fields.ForeignKey(
1792
+ blank=True,
1793
+ default=lamindb.models.current_run,
1794
+ null=True,
1795
+ on_delete=django.db.models.deletion.PROTECT,
1796
+ related_name="+",
1797
+ to="lamindb.run",
1798
+ ),
1799
+ ),
1800
+ migrations.AddField(
1801
+ model_name="personproject",
1802
+ name="run",
1803
+ field=lamindb.base.fields.ForeignKey(
1804
+ blank=True,
1805
+ default=lamindb.models.current_run,
1806
+ null=True,
1807
+ on_delete=django.db.models.deletion.PROTECT,
1808
+ related_name="+",
1809
+ to="lamindb.run",
1810
+ ),
1811
+ ),
1812
+ migrations.AddField(
1813
+ model_name="person",
1814
+ name="run",
1815
+ field=lamindb.base.fields.ForeignKey(
1816
+ blank=True,
1817
+ default=lamindb.models.current_run,
1818
+ null=True,
1819
+ on_delete=django.db.models.deletion.PROTECT,
1820
+ related_name="+",
1821
+ to="lamindb.run",
1822
+ ),
1823
+ ),
1824
+ migrations.AddField(
1825
+ model_name="param",
1826
+ name="run",
1827
+ field=lamindb.base.fields.ForeignKey(
1828
+ blank=True,
1829
+ default=lamindb.models.current_run,
1830
+ null=True,
1831
+ on_delete=django.db.models.deletion.PROTECT,
1832
+ related_name="+",
1833
+ to="lamindb.run",
1834
+ ),
1835
+ ),
1836
+ migrations.AddField(
1837
+ model_name="featurevalue",
1838
+ name="run",
1839
+ field=lamindb.base.fields.ForeignKey(
1840
+ blank=True,
1841
+ default=lamindb.models.current_run,
1842
+ null=True,
1843
+ on_delete=django.db.models.deletion.PROTECT,
1844
+ related_name="+",
1845
+ to="lamindb.run",
1846
+ ),
1847
+ ),
1848
+ migrations.AddField(
1849
+ model_name="featureproject",
1850
+ name="run",
1851
+ field=lamindb.base.fields.ForeignKey(
1852
+ blank=True,
1853
+ default=lamindb.models.current_run,
1854
+ null=True,
1855
+ on_delete=django.db.models.deletion.PROTECT,
1856
+ related_name="+",
1857
+ to="lamindb.run",
1858
+ ),
1859
+ ),
1860
+ migrations.AddField(
1861
+ model_name="feature",
1862
+ name="run",
1863
+ field=lamindb.base.fields.ForeignKey(
1864
+ blank=True,
1865
+ default=lamindb.models.current_run,
1866
+ null=True,
1867
+ on_delete=django.db.models.deletion.PROTECT,
1868
+ related_name="+",
1869
+ to="lamindb.run",
1870
+ ),
1871
+ ),
1872
+ migrations.AddField(
1873
+ model_name="collectionreference",
1874
+ name="run",
1875
+ field=lamindb.base.fields.ForeignKey(
1876
+ blank=True,
1877
+ default=lamindb.models.current_run,
1878
+ null=True,
1879
+ on_delete=django.db.models.deletion.PROTECT,
1880
+ related_name="+",
1881
+ to="lamindb.run",
1882
+ ),
1883
+ ),
1884
+ migrations.AddField(
1885
+ model_name="collectionproject",
1886
+ name="run",
1887
+ field=lamindb.base.fields.ForeignKey(
1888
+ blank=True,
1889
+ default=lamindb.models.current_run,
1890
+ null=True,
1891
+ on_delete=django.db.models.deletion.PROTECT,
1892
+ related_name="+",
1893
+ to="lamindb.run",
1894
+ ),
1895
+ ),
1896
+ migrations.AddField(
1897
+ model_name="collectionartifact",
1898
+ name="run",
1899
+ field=lamindb.base.fields.ForeignKey(
1900
+ blank=True,
1901
+ default=lamindb.models.current_run,
1902
+ null=True,
1903
+ on_delete=django.db.models.deletion.PROTECT,
1904
+ related_name="+",
1905
+ to="lamindb.run",
1906
+ ),
1907
+ ),
1908
+ migrations.AddField(
1909
+ model_name="collection",
1910
+ name="_previous_runs",
1911
+ field=models.ManyToManyField(
1912
+ related_name="_output_collections_with_later_updates", to="lamindb.run"
1913
+ ),
1914
+ ),
1915
+ migrations.AddField(
1916
+ model_name="collection",
1917
+ name="input_of_runs",
1918
+ field=models.ManyToManyField(
1919
+ related_name="input_collections", to="lamindb.run"
1920
+ ),
1921
+ ),
1922
+ migrations.AddField(
1923
+ model_name="collection",
1924
+ name="run",
1925
+ field=lamindb.base.fields.ForeignKey(
1926
+ blank=True,
1927
+ default=None,
1928
+ null=True,
1929
+ on_delete=django.db.models.deletion.PROTECT,
1930
+ related_name="output_collections",
1931
+ to="lamindb.run",
1932
+ ),
1933
+ ),
1934
+ migrations.AddField(
1935
+ model_name="artifactreference",
1936
+ name="run",
1937
+ field=lamindb.base.fields.ForeignKey(
1938
+ blank=True,
1939
+ default=lamindb.models.current_run,
1940
+ null=True,
1941
+ on_delete=django.db.models.deletion.PROTECT,
1942
+ related_name="+",
1943
+ to="lamindb.run",
1944
+ ),
1945
+ ),
1946
+ migrations.AddField(
1947
+ model_name="artifactproject",
1948
+ name="run",
1949
+ field=lamindb.base.fields.ForeignKey(
1950
+ blank=True,
1951
+ default=lamindb.models.current_run,
1952
+ null=True,
1953
+ on_delete=django.db.models.deletion.PROTECT,
1954
+ related_name="+",
1955
+ to="lamindb.run",
1956
+ ),
1957
+ ),
1958
+ migrations.AddField(
1959
+ model_name="artifactparamvalue",
1960
+ name="run",
1961
+ field=lamindb.base.fields.ForeignKey(
1962
+ blank=True,
1963
+ default=lamindb.models.current_run,
1964
+ null=True,
1965
+ on_delete=django.db.models.deletion.PROTECT,
1966
+ related_name="+",
1967
+ to="lamindb.run",
1968
+ ),
1969
+ ),
1970
+ migrations.AddField(
1971
+ model_name="artifactfeaturevalue",
1972
+ name="run",
1973
+ field=lamindb.base.fields.ForeignKey(
1974
+ blank=True,
1975
+ default=lamindb.models.current_run,
1976
+ null=True,
1977
+ on_delete=django.db.models.deletion.PROTECT,
1978
+ related_name="+",
1979
+ to="lamindb.run",
1980
+ ),
1981
+ ),
1982
+ migrations.AddField(
1983
+ model_name="artifact",
1984
+ name="_previous_runs",
1985
+ field=models.ManyToManyField(
1986
+ related_name="_output_artifacts_with_later_updates", to="lamindb.run"
1987
+ ),
1988
+ ),
1989
+ migrations.AddField(
1990
+ model_name="artifact",
1991
+ name="input_of_runs",
1992
+ field=models.ManyToManyField(
1993
+ related_name="input_artifacts", to="lamindb.run"
1994
+ ),
1995
+ ),
1996
+ migrations.AddField(
1997
+ model_name="artifact",
1998
+ name="run",
1999
+ field=lamindb.base.fields.ForeignKey(
2000
+ blank=True,
2001
+ default=None,
2002
+ editable=False,
2003
+ null=True,
2004
+ on_delete=django.db.models.deletion.PROTECT,
2005
+ related_name="output_artifacts",
2006
+ to="lamindb.run",
2007
+ ),
2008
+ ),
2009
+ migrations.CreateModel(
2010
+ name="RunParamValue",
2011
+ fields=[
2012
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
2013
+ (
2014
+ "created_at",
2015
+ lamindb.base.fields.DateTimeField(
2016
+ blank=True,
2017
+ db_default=django.db.models.functions.datetime.Now(),
2018
+ db_index=True,
2019
+ editable=False,
2020
+ ),
2021
+ ),
2022
+ (
2023
+ "paramvalue",
2024
+ lamindb.base.fields.ForeignKey(
2025
+ blank=True,
2026
+ on_delete=django.db.models.deletion.PROTECT,
2027
+ related_name="+",
2028
+ to="lamindb.paramvalue",
2029
+ ),
2030
+ ),
2031
+ (
2032
+ "run",
2033
+ lamindb.base.fields.ForeignKey(
2034
+ blank=True,
2035
+ on_delete=django.db.models.deletion.CASCADE,
2036
+ related_name="+",
2037
+ to="lamindb.run",
2038
+ ),
2039
+ ),
2040
+ (
2041
+ "created_by",
2042
+ lamindb.base.fields.ForeignKey(
2043
+ blank=True,
2044
+ default=lamindb.base.users.current_user_id,
2045
+ on_delete=django.db.models.deletion.PROTECT,
2046
+ related_name="+",
2047
+ to="lamindb.user",
2048
+ ),
2049
+ ),
2050
+ ],
2051
+ options={
2052
+ "unique_together": {("run", "paramvalue")},
2053
+ },
2054
+ bases=(models.Model, lamindb.models.LinkORM),
2055
+ ),
2056
+ migrations.AddField(
2057
+ model_name="run",
2058
+ name="_param_values",
2059
+ field=models.ManyToManyField(
2060
+ related_name="runs",
2061
+ through="lamindb.RunParamValue",
2062
+ to="lamindb.paramvalue",
2063
+ ),
2064
+ ),
2065
+ migrations.CreateModel(
2066
+ name="Schema",
2067
+ fields=[
2068
+ (
2069
+ "created_at",
2070
+ lamindb.base.fields.DateTimeField(
2071
+ blank=True,
2072
+ db_default=django.db.models.functions.datetime.Now(),
2073
+ db_index=True,
2074
+ editable=False,
2075
+ ),
2076
+ ),
2077
+ (
2078
+ "_branch_code",
2079
+ models.SmallIntegerField(db_default=1, db_index=True, default=1),
2080
+ ),
2081
+ (
2082
+ "_aux",
2083
+ lamindb.base.fields.JSONField(
2084
+ blank=True, db_default=None, default=None, null=True
2085
+ ),
2086
+ ),
2087
+ ("id", models.AutoField(primary_key=True, serialize=False)),
2088
+ (
2089
+ "uid",
2090
+ lamindb.base.fields.CharField(
2091
+ blank=True,
2092
+ db_index=True,
2093
+ default=None,
2094
+ editable=False,
2095
+ max_length=20,
2096
+ unique=True,
2097
+ ),
2098
+ ),
2099
+ (
2100
+ "name",
2101
+ lamindb.base.fields.CharField(
2102
+ blank=True,
2103
+ db_index=True,
2104
+ default=None,
2105
+ max_length=150,
2106
+ null=True,
2107
+ ),
2108
+ ),
2109
+ (
2110
+ "description",
2111
+ lamindb.base.fields.CharField(
2112
+ blank=True,
2113
+ db_index=True,
2114
+ default=None,
2115
+ max_length=255,
2116
+ null=True,
2117
+ ),
2118
+ ),
2119
+ ("n", lamindb.base.fields.IntegerField(blank=True)),
2120
+ (
2121
+ "dtype",
2122
+ lamindb.base.fields.CharField(
2123
+ blank=True,
2124
+ default=None,
2125
+ editable=False,
2126
+ max_length=64,
2127
+ null=True,
2128
+ ),
2129
+ ),
2130
+ (
2131
+ "itype",
2132
+ lamindb.base.fields.CharField(
2133
+ blank=True,
2134
+ db_index=True,
2135
+ default=None,
2136
+ editable=False,
2137
+ max_length=120,
2138
+ null=True,
2139
+ ),
2140
+ ),
2141
+ (
2142
+ "is_type",
2143
+ lamindb.base.fields.BooleanField(
2144
+ blank=True, db_index=True, default=False, null=True
2145
+ ),
2146
+ ),
2147
+ (
2148
+ "otype",
2149
+ lamindb.base.fields.CharField(
2150
+ blank=True,
2151
+ db_index=True,
2152
+ default=None,
2153
+ max_length=64,
2154
+ null=True,
2155
+ ),
2156
+ ),
2157
+ (
2158
+ "hash",
2159
+ lamindb.base.fields.CharField(
2160
+ blank=True,
2161
+ db_index=True,
2162
+ default=None,
2163
+ editable=False,
2164
+ max_length=22,
2165
+ null=True,
2166
+ ),
2167
+ ),
2168
+ (
2169
+ "minimal_set",
2170
+ lamindb.base.fields.BooleanField(
2171
+ blank=True, db_index=True, default=True, editable=False
2172
+ ),
2173
+ ),
2174
+ (
2175
+ "ordered_set",
2176
+ lamindb.base.fields.BooleanField(
2177
+ blank=True, db_index=True, default=False, editable=False
2178
+ ),
2179
+ ),
2180
+ (
2181
+ "maximal_set",
2182
+ lamindb.base.fields.BooleanField(
2183
+ blank=True, db_index=True, default=False, editable=False
2184
+ ),
2185
+ ),
2186
+ (
2187
+ "_curation",
2188
+ lamindb.base.fields.JSONField(
2189
+ blank=True, db_default=None, default=None, null=True
2190
+ ),
2191
+ ),
2192
+ (
2193
+ "slot",
2194
+ lamindb.base.fields.CharField(
2195
+ blank=True,
2196
+ db_index=True,
2197
+ default=None,
2198
+ max_length=100,
2199
+ null=True,
2200
+ ),
2201
+ ),
2202
+ (
2203
+ "composite",
2204
+ lamindb.base.fields.ForeignKey(
2205
+ blank=True,
2206
+ default=None,
2207
+ null=True,
2208
+ on_delete=django.db.models.deletion.PROTECT,
2209
+ related_name="+",
2210
+ to="lamindb.schema",
2211
+ ),
2212
+ ),
2213
+ (
2214
+ "run",
2215
+ lamindb.base.fields.ForeignKey(
2216
+ blank=True,
2217
+ default=lamindb.models.current_run,
2218
+ null=True,
2219
+ on_delete=django.db.models.deletion.PROTECT,
2220
+ related_name="+",
2221
+ to="lamindb.run",
2222
+ ),
2223
+ ),
2224
+ (
2225
+ "type",
2226
+ lamindb.base.fields.ForeignKey(
2227
+ blank=True,
2228
+ null=True,
2229
+ on_delete=django.db.models.deletion.PROTECT,
2230
+ related_name="records",
2231
+ to="lamindb.schema",
2232
+ ),
2233
+ ),
2234
+ (
2235
+ "validated_by",
2236
+ lamindb.base.fields.ForeignKey(
2237
+ blank=True,
2238
+ default=None,
2239
+ null=True,
2240
+ on_delete=django.db.models.deletion.PROTECT,
2241
+ related_name="validated_schemas",
2242
+ to="lamindb.schema",
2243
+ ),
2244
+ ),
2245
+ ],
2246
+ options={
2247
+ "abstract": False,
2248
+ },
2249
+ bases=(lamindb.models.CanCurate, models.Model),
2250
+ ),
2251
+ migrations.CreateModel(
2252
+ name="ArtifactSchema",
2253
+ fields=[
2254
+ (
2255
+ "created_at",
2256
+ lamindb.base.fields.DateTimeField(
2257
+ blank=True,
2258
+ db_default=django.db.models.functions.datetime.Now(),
2259
+ db_index=True,
2260
+ editable=False,
2261
+ ),
2262
+ ),
2263
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
2264
+ (
2265
+ "slot",
2266
+ lamindb.base.fields.CharField(
2267
+ blank=True, default=None, max_length=255, null=True
2268
+ ),
2269
+ ),
2270
+ (
2271
+ "feature_ref_is_semantic",
2272
+ lamindb.base.fields.BooleanField(
2273
+ blank=True, default=None, null=True
2274
+ ),
2275
+ ),
2276
+ (
2277
+ "artifact",
2278
+ lamindb.base.fields.ForeignKey(
2279
+ blank=True,
2280
+ on_delete=django.db.models.deletion.CASCADE,
2281
+ related_name="_links_schema",
2282
+ to="lamindb.artifact",
2283
+ ),
2284
+ ),
2285
+ (
2286
+ "run",
2287
+ lamindb.base.fields.ForeignKey(
2288
+ blank=True,
2289
+ default=lamindb.models.current_run,
2290
+ null=True,
2291
+ on_delete=django.db.models.deletion.PROTECT,
2292
+ related_name="+",
2293
+ to="lamindb.run",
2294
+ ),
2295
+ ),
2296
+ (
2297
+ "schema",
2298
+ lamindb.base.fields.ForeignKey(
2299
+ blank=True,
2300
+ on_delete=django.db.models.deletion.PROTECT,
2301
+ related_name="_links_artifact",
2302
+ to="lamindb.schema",
2303
+ ),
2304
+ ),
2305
+ (
2306
+ "created_by",
2307
+ lamindb.base.fields.ForeignKey(
2308
+ blank=True,
2309
+ default=lamindb.base.users.current_user_id,
2310
+ editable=False,
2311
+ on_delete=django.db.models.deletion.PROTECT,
2312
+ related_name="+",
2313
+ to="lamindb.user",
2314
+ ),
2315
+ ),
2316
+ ],
2317
+ bases=(lamindb.models.LinkORM, models.Model),
2318
+ ),
2319
+ migrations.AddField(
2320
+ model_name="artifact",
2321
+ name="feature_sets",
2322
+ field=models.ManyToManyField(
2323
+ related_name="artifacts",
2324
+ through="lamindb.ArtifactSchema",
2325
+ to="lamindb.schema",
2326
+ ),
2327
+ ),
2328
+ migrations.AddField(
2329
+ model_name="artifact",
2330
+ name="schema",
2331
+ field=lamindb.base.fields.ForeignKey(
2332
+ blank=True,
2333
+ default=None,
2334
+ null=True,
2335
+ on_delete=django.db.models.deletion.PROTECT,
2336
+ related_name="validated_artifacts",
2337
+ to="lamindb.schema",
2338
+ ),
2339
+ ),
2340
+ migrations.CreateModel(
2341
+ name="SchemaComponent",
2342
+ fields=[
2343
+ (
2344
+ "created_at",
2345
+ lamindb.base.fields.DateTimeField(
2346
+ blank=True,
2347
+ db_default=django.db.models.functions.datetime.Now(),
2348
+ db_index=True,
2349
+ editable=False,
2350
+ ),
2351
+ ),
2352
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
2353
+ (
2354
+ "slot",
2355
+ lamindb.base.fields.CharField(
2356
+ blank=True, default=None, max_length=255, null=True
2357
+ ),
2358
+ ),
2359
+ (
2360
+ "component",
2361
+ lamindb.base.fields.ForeignKey(
2362
+ blank=True,
2363
+ on_delete=django.db.models.deletion.PROTECT,
2364
+ related_name="links_component",
2365
+ to="lamindb.schema",
2366
+ ),
2367
+ ),
2368
+ (
2369
+ "composite",
2370
+ lamindb.base.fields.ForeignKey(
2371
+ blank=True,
2372
+ on_delete=django.db.models.deletion.CASCADE,
2373
+ related_name="links_composite",
2374
+ to="lamindb.schema",
2375
+ ),
2376
+ ),
2377
+ (
2378
+ "run",
2379
+ lamindb.base.fields.ForeignKey(
2380
+ blank=True,
2381
+ default=lamindb.models.current_run,
2382
+ null=True,
2383
+ on_delete=django.db.models.deletion.PROTECT,
2384
+ related_name="+",
2385
+ to="lamindb.run",
2386
+ ),
2387
+ ),
2388
+ (
2389
+ "created_by",
2390
+ lamindb.base.fields.ForeignKey(
2391
+ blank=True,
2392
+ default=lamindb.base.users.current_user_id,
2393
+ editable=False,
2394
+ on_delete=django.db.models.deletion.PROTECT,
2395
+ related_name="+",
2396
+ to="lamindb.user",
2397
+ ),
2398
+ ),
2399
+ ],
2400
+ options={
2401
+ "unique_together": {("composite", "component"), ("composite", "slot")},
2402
+ },
2403
+ bases=(lamindb.models.LinkORM, models.Model),
2404
+ ),
2405
+ migrations.AddField(
2406
+ model_name="schema",
2407
+ name="components",
2408
+ field=models.ManyToManyField(
2409
+ related_name="composites",
2410
+ through="lamindb.SchemaComponent",
2411
+ to="lamindb.schema",
2412
+ ),
2413
+ ),
2414
+ migrations.CreateModel(
2415
+ name="SchemaFeature",
2416
+ fields=[
2417
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
2418
+ (
2419
+ "feature",
2420
+ lamindb.base.fields.ForeignKey(
2421
+ blank=True,
2422
+ on_delete=django.db.models.deletion.PROTECT,
2423
+ related_name="links_schema",
2424
+ to="lamindb.feature",
2425
+ ),
2426
+ ),
2427
+ (
2428
+ "schema",
2429
+ lamindb.base.fields.ForeignKey(
2430
+ blank=True,
2431
+ on_delete=django.db.models.deletion.CASCADE,
2432
+ related_name="links_feature",
2433
+ to="lamindb.schema",
2434
+ ),
2435
+ ),
2436
+ ],
2437
+ options={
2438
+ "unique_together": {("schema", "feature")},
2439
+ },
2440
+ bases=(models.Model, lamindb.models.LinkORM),
2441
+ ),
2442
+ migrations.AddField(
2443
+ model_name="feature",
2444
+ name="schemas",
2445
+ field=models.ManyToManyField(
2446
+ related_name="features",
2447
+ through="lamindb.SchemaFeature",
2448
+ to="lamindb.schema",
2449
+ ),
2450
+ ),
2451
+ migrations.CreateModel(
2452
+ name="SchemaParam",
2453
+ fields=[
2454
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
2455
+ (
2456
+ "param",
2457
+ lamindb.base.fields.ForeignKey(
2458
+ blank=True,
2459
+ on_delete=django.db.models.deletion.PROTECT,
2460
+ related_name="+",
2461
+ to="lamindb.param",
2462
+ ),
2463
+ ),
2464
+ (
2465
+ "schema",
2466
+ lamindb.base.fields.ForeignKey(
2467
+ blank=True,
2468
+ on_delete=django.db.models.deletion.CASCADE,
2469
+ related_name="+",
2470
+ to="lamindb.schema",
2471
+ ),
2472
+ ),
2473
+ ],
2474
+ options={
2475
+ "unique_together": {("schema", "param")},
2476
+ },
2477
+ bases=(models.Model, lamindb.models.LinkORM),
2478
+ ),
2479
+ migrations.AddField(
2480
+ model_name="param",
2481
+ name="schemas",
2482
+ field=models.ManyToManyField(
2483
+ related_name="params",
2484
+ through="lamindb.SchemaParam",
2485
+ to="lamindb.schema",
2486
+ ),
2487
+ ),
2488
+ migrations.CreateModel(
2489
+ name="SchemaProject",
2490
+ fields=[
2491
+ (
2492
+ "created_at",
2493
+ lamindb.base.fields.DateTimeField(
2494
+ blank=True,
2495
+ db_default=django.db.models.functions.datetime.Now(),
2496
+ db_index=True,
2497
+ editable=False,
2498
+ ),
2499
+ ),
2500
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
2501
+ (
2502
+ "project",
2503
+ lamindb.base.fields.ForeignKey(
2504
+ blank=True,
2505
+ on_delete=django.db.models.deletion.PROTECT,
2506
+ related_name="links_schema",
2507
+ to="lamindb.project",
2508
+ ),
2509
+ ),
2510
+ (
2511
+ "run",
2512
+ lamindb.base.fields.ForeignKey(
2513
+ blank=True,
2514
+ default=lamindb.models.current_run,
2515
+ null=True,
2516
+ on_delete=django.db.models.deletion.PROTECT,
2517
+ related_name="+",
2518
+ to="lamindb.run",
2519
+ ),
2520
+ ),
2521
+ (
2522
+ "schema",
2523
+ lamindb.base.fields.ForeignKey(
2524
+ blank=True,
2525
+ on_delete=django.db.models.deletion.CASCADE,
2526
+ related_name="links_project",
2527
+ to="lamindb.schema",
2528
+ ),
2529
+ ),
2530
+ (
2531
+ "created_by",
2532
+ lamindb.base.fields.ForeignKey(
2533
+ blank=True,
2534
+ default=lamindb.base.users.current_user_id,
2535
+ editable=False,
2536
+ on_delete=django.db.models.deletion.PROTECT,
2537
+ related_name="+",
2538
+ to="lamindb.user",
2539
+ ),
2540
+ ),
2541
+ ],
2542
+ options={
2543
+ "unique_together": {("schema", "project")},
2544
+ },
2545
+ bases=(lamindb.models.LinkORM, models.Model),
2546
+ ),
2547
+ migrations.AddField(
2548
+ model_name="project",
2549
+ name="schemas",
2550
+ field=models.ManyToManyField(
2551
+ related_name="projects",
2552
+ through="lamindb.SchemaProject",
2553
+ to="lamindb.schema",
2554
+ ),
2555
+ ),
2556
+ migrations.AddField(
2557
+ model_name="schema",
2558
+ name="space",
2559
+ field=lamindb.base.fields.ForeignKey(
2560
+ blank=True,
2561
+ db_default=1,
2562
+ default=1,
2563
+ on_delete=django.db.models.deletion.PROTECT,
2564
+ to="lamindb.space",
2565
+ ),
2566
+ ),
2567
+ migrations.AddField(
2568
+ model_name="run",
2569
+ name="space",
2570
+ field=lamindb.base.fields.ForeignKey(
2571
+ blank=True,
2572
+ db_default=1,
2573
+ default=1,
2574
+ on_delete=django.db.models.deletion.PROTECT,
2575
+ to="lamindb.space",
2576
+ ),
2577
+ ),
2578
+ migrations.AddField(
2579
+ model_name="reference",
2580
+ name="space",
2581
+ field=lamindb.base.fields.ForeignKey(
2582
+ blank=True,
2583
+ db_default=1,
2584
+ default=1,
2585
+ on_delete=django.db.models.deletion.PROTECT,
2586
+ to="lamindb.space",
2587
+ ),
2588
+ ),
2589
+ migrations.AddField(
2590
+ model_name="project",
2591
+ name="space",
2592
+ field=lamindb.base.fields.ForeignKey(
2593
+ blank=True,
2594
+ db_default=1,
2595
+ default=1,
2596
+ on_delete=django.db.models.deletion.PROTECT,
2597
+ to="lamindb.space",
2598
+ ),
2599
+ ),
2600
+ migrations.AddField(
2601
+ model_name="person",
2602
+ name="space",
2603
+ field=lamindb.base.fields.ForeignKey(
2604
+ blank=True,
2605
+ db_default=1,
2606
+ default=1,
2607
+ on_delete=django.db.models.deletion.PROTECT,
2608
+ to="lamindb.space",
2609
+ ),
2610
+ ),
2611
+ migrations.AddField(
2612
+ model_name="param",
2613
+ name="space",
2614
+ field=lamindb.base.fields.ForeignKey(
2615
+ blank=True,
2616
+ db_default=1,
2617
+ default=1,
2618
+ on_delete=django.db.models.deletion.PROTECT,
2619
+ to="lamindb.space",
2620
+ ),
2621
+ ),
2622
+ migrations.AddField(
2623
+ model_name="featurevalue",
2624
+ name="space",
2625
+ field=lamindb.base.fields.ForeignKey(
2626
+ blank=True,
2627
+ db_default=1,
2628
+ default=1,
2629
+ on_delete=django.db.models.deletion.PROTECT,
2630
+ to="lamindb.space",
2631
+ ),
2632
+ ),
2633
+ migrations.AddField(
2634
+ model_name="feature",
2635
+ name="space",
2636
+ field=lamindb.base.fields.ForeignKey(
2637
+ blank=True,
2638
+ db_default=1,
2639
+ default=1,
2640
+ on_delete=django.db.models.deletion.PROTECT,
2641
+ to="lamindb.space",
2642
+ ),
2643
+ ),
2644
+ migrations.AddField(
2645
+ model_name="collection",
2646
+ name="space",
2647
+ field=lamindb.base.fields.ForeignKey(
2648
+ blank=True,
2649
+ db_default=1,
2650
+ default=1,
2651
+ on_delete=django.db.models.deletion.PROTECT,
2652
+ to="lamindb.space",
2653
+ ),
2654
+ ),
2655
+ migrations.AddField(
2656
+ model_name="artifact",
2657
+ name="space",
2658
+ field=lamindb.base.fields.ForeignKey(
2659
+ blank=True,
2660
+ db_default=1,
2661
+ default=1,
2662
+ on_delete=django.db.models.deletion.PROTECT,
2663
+ to="lamindb.space",
2664
+ ),
2665
+ ),
2666
+ migrations.CreateModel(
2667
+ name="Storage",
2668
+ fields=[
2669
+ (
2670
+ "created_at",
2671
+ lamindb.base.fields.DateTimeField(
2672
+ blank=True,
2673
+ db_default=django.db.models.functions.datetime.Now(),
2674
+ db_index=True,
2675
+ editable=False,
2676
+ ),
2677
+ ),
2678
+ (
2679
+ "updated_at",
2680
+ lamindb.base.fields.DateTimeField(
2681
+ blank=True,
2682
+ db_default=django.db.models.functions.datetime.Now(),
2683
+ db_index=True,
2684
+ editable=False,
2685
+ ),
2686
+ ),
2687
+ (
2688
+ "_branch_code",
2689
+ models.SmallIntegerField(db_default=1, db_index=True, default=1),
2690
+ ),
2691
+ (
2692
+ "_aux",
2693
+ lamindb.base.fields.JSONField(
2694
+ blank=True, db_default=None, default=None, null=True
2695
+ ),
2696
+ ),
2697
+ ("id", models.AutoField(primary_key=True, serialize=False)),
2698
+ (
2699
+ "uid",
2700
+ lamindb.base.fields.CharField(
2701
+ blank=True,
2702
+ db_index=True,
2703
+ default=lamindb.base.ids.base62_12,
2704
+ editable=False,
2705
+ max_length=12,
2706
+ unique=True,
2707
+ ),
2708
+ ),
2709
+ (
2710
+ "root",
2711
+ lamindb.base.fields.CharField(
2712
+ blank=True,
2713
+ db_index=True,
2714
+ default=None,
2715
+ max_length=255,
2716
+ unique=True,
2717
+ ),
2718
+ ),
2719
+ (
2720
+ "description",
2721
+ lamindb.base.fields.CharField(
2722
+ blank=True,
2723
+ db_index=True,
2724
+ default=None,
2725
+ max_length=255,
2726
+ null=True,
2727
+ ),
2728
+ ),
2729
+ (
2730
+ "type",
2731
+ lamindb.base.fields.CharField(
2732
+ blank=True, db_index=True, default=None, max_length=30
2733
+ ),
2734
+ ),
2735
+ (
2736
+ "region",
2737
+ lamindb.base.fields.CharField(
2738
+ blank=True,
2739
+ db_index=True,
2740
+ default=None,
2741
+ max_length=64,
2742
+ null=True,
2743
+ ),
2744
+ ),
2745
+ (
2746
+ "instance_uid",
2747
+ lamindb.base.fields.CharField(
2748
+ blank=True,
2749
+ db_index=True,
2750
+ default=None,
2751
+ max_length=12,
2752
+ null=True,
2753
+ ),
2754
+ ),
2755
+ (
2756
+ "run",
2757
+ lamindb.base.fields.ForeignKey(
2758
+ blank=True,
2759
+ default=lamindb.models.current_run,
2760
+ null=True,
2761
+ on_delete=django.db.models.deletion.PROTECT,
2762
+ related_name="+",
2763
+ to="lamindb.run",
2764
+ ),
2765
+ ),
2766
+ (
2767
+ "space",
2768
+ lamindb.base.fields.ForeignKey(
2769
+ blank=True,
2770
+ db_default=1,
2771
+ default=1,
2772
+ on_delete=django.db.models.deletion.PROTECT,
2773
+ to="lamindb.space",
2774
+ ),
2775
+ ),
2776
+ (
2777
+ "created_by",
2778
+ lamindb.base.fields.ForeignKey(
2779
+ blank=True,
2780
+ default=lamindb.base.users.current_user_id,
2781
+ editable=False,
2782
+ on_delete=django.db.models.deletion.PROTECT,
2783
+ related_name="+",
2784
+ to="lamindb.user",
2785
+ ),
2786
+ ),
2787
+ ],
2788
+ options={
2789
+ "abstract": False,
2790
+ },
2791
+ ),
2792
+ migrations.AddField(
2793
+ model_name="artifact",
2794
+ name="storage",
2795
+ field=lamindb.base.fields.ForeignKey(
2796
+ blank=True,
2797
+ editable=False,
2798
+ on_delete=django.db.models.deletion.PROTECT,
2799
+ related_name="artifacts",
2800
+ to="lamindb.storage",
2801
+ ),
2802
+ ),
2803
+ migrations.CreateModel(
2804
+ name="Transform",
2805
+ fields=[
2806
+ (
2807
+ "version",
2808
+ lamindb.base.fields.CharField(
2809
+ blank=True,
2810
+ db_index=True,
2811
+ default=None,
2812
+ max_length=30,
2813
+ null=True,
2814
+ ),
2815
+ ),
2816
+ (
2817
+ "is_latest",
2818
+ lamindb.base.fields.BooleanField(
2819
+ blank=True, db_index=True, default=True
2820
+ ),
2821
+ ),
2822
+ (
2823
+ "_branch_code",
2824
+ models.SmallIntegerField(db_default=1, db_index=True, default=1),
2825
+ ),
2826
+ (
2827
+ "_aux",
2828
+ lamindb.base.fields.JSONField(
2829
+ blank=True, db_default=None, default=None, null=True
2830
+ ),
2831
+ ),
2832
+ ("id", models.AutoField(primary_key=True, serialize=False)),
2833
+ (
2834
+ "uid",
2835
+ lamindb.base.fields.CharField(
2836
+ blank=True,
2837
+ db_index=True,
2838
+ default=None,
2839
+ editable=False,
2840
+ max_length=16,
2841
+ unique=True,
2842
+ ),
2843
+ ),
2844
+ (
2845
+ "key",
2846
+ lamindb.base.fields.CharField(
2847
+ blank=True,
2848
+ db_index=True,
2849
+ default=None,
2850
+ max_length=255,
2851
+ null=True,
2852
+ ),
2853
+ ),
2854
+ (
2855
+ "description",
2856
+ lamindb.base.fields.CharField(
2857
+ blank=True,
2858
+ db_index=True,
2859
+ default=None,
2860
+ max_length=255,
2861
+ null=True,
2862
+ ),
2863
+ ),
2864
+ (
2865
+ "type",
2866
+ lamindb.base.fields.CharField(
2867
+ blank=True, db_index=True, default="pipeline", max_length=20
2868
+ ),
2869
+ ),
2870
+ (
2871
+ "source_code",
2872
+ lamindb.base.fields.TextField(blank=True, default=None, null=True),
2873
+ ),
2874
+ (
2875
+ "hash",
2876
+ lamindb.base.fields.CharField(
2877
+ blank=True,
2878
+ db_index=True,
2879
+ default=None,
2880
+ max_length=22,
2881
+ null=True,
2882
+ unique=True,
2883
+ ),
2884
+ ),
2885
+ (
2886
+ "reference",
2887
+ lamindb.base.fields.CharField(
2888
+ blank=True,
2889
+ db_index=True,
2890
+ default=None,
2891
+ max_length=255,
2892
+ null=True,
2893
+ ),
2894
+ ),
2895
+ (
2896
+ "reference_type",
2897
+ lamindb.base.fields.CharField(
2898
+ blank=True,
2899
+ db_index=True,
2900
+ default=None,
2901
+ max_length=25,
2902
+ null=True,
2903
+ ),
2904
+ ),
2905
+ (
2906
+ "created_at",
2907
+ lamindb.base.fields.DateTimeField(
2908
+ blank=True,
2909
+ db_default=django.db.models.functions.datetime.Now(),
2910
+ db_index=True,
2911
+ editable=False,
2912
+ ),
2913
+ ),
2914
+ (
2915
+ "updated_at",
2916
+ lamindb.base.fields.DateTimeField(
2917
+ blank=True,
2918
+ db_default=django.db.models.functions.datetime.Now(),
2919
+ db_index=True,
2920
+ editable=False,
2921
+ ),
2922
+ ),
2923
+ (
2924
+ "_template",
2925
+ lamindb.base.fields.ForeignKey(
2926
+ blank=True,
2927
+ default=None,
2928
+ null=True,
2929
+ on_delete=django.db.models.deletion.PROTECT,
2930
+ related_name="_derived_from",
2931
+ to="lamindb.transform",
2932
+ ),
2933
+ ),
2934
+ (
2935
+ "predecessors",
2936
+ models.ManyToManyField(
2937
+ related_name="successors", to="lamindb.transform"
2938
+ ),
2939
+ ),
2940
+ (
2941
+ "space",
2942
+ lamindb.base.fields.ForeignKey(
2943
+ blank=True,
2944
+ db_default=1,
2945
+ default=1,
2946
+ on_delete=django.db.models.deletion.PROTECT,
2947
+ to="lamindb.space",
2948
+ ),
2949
+ ),
2950
+ ],
2951
+ options={
2952
+ "abstract": False,
2953
+ },
2954
+ ),
2955
+ migrations.AddField(
2956
+ model_name="run",
2957
+ name="transform",
2958
+ field=lamindb.base.fields.ForeignKey(
2959
+ blank=True,
2960
+ on_delete=django.db.models.deletion.CASCADE,
2961
+ related_name="runs",
2962
+ to="lamindb.transform",
2963
+ ),
2964
+ ),
2965
+ migrations.CreateModel(
2966
+ name="TransformProject",
2967
+ fields=[
2968
+ (
2969
+ "created_at",
2970
+ lamindb.base.fields.DateTimeField(
2971
+ blank=True,
2972
+ db_default=django.db.models.functions.datetime.Now(),
2973
+ db_index=True,
2974
+ editable=False,
2975
+ ),
2976
+ ),
2977
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
2978
+ (
2979
+ "project",
2980
+ lamindb.base.fields.ForeignKey(
2981
+ blank=True,
2982
+ on_delete=django.db.models.deletion.PROTECT,
2983
+ related_name="links_transform",
2984
+ to="lamindb.project",
2985
+ ),
2986
+ ),
2987
+ (
2988
+ "run",
2989
+ lamindb.base.fields.ForeignKey(
2990
+ blank=True,
2991
+ default=lamindb.models.current_run,
2992
+ null=True,
2993
+ on_delete=django.db.models.deletion.PROTECT,
2994
+ related_name="+",
2995
+ to="lamindb.run",
2996
+ ),
2997
+ ),
2998
+ (
2999
+ "transform",
3000
+ lamindb.base.fields.ForeignKey(
3001
+ blank=True,
3002
+ on_delete=django.db.models.deletion.CASCADE,
3003
+ related_name="links_project",
3004
+ to="lamindb.transform",
3005
+ ),
3006
+ ),
3007
+ (
3008
+ "created_by",
3009
+ lamindb.base.fields.ForeignKey(
3010
+ blank=True,
3011
+ default=lamindb.base.users.current_user_id,
3012
+ editable=False,
3013
+ on_delete=django.db.models.deletion.PROTECT,
3014
+ related_name="+",
3015
+ to="lamindb.user",
3016
+ ),
3017
+ ),
3018
+ ],
3019
+ options={
3020
+ "unique_together": {("transform", "project")},
3021
+ },
3022
+ bases=(lamindb.models.LinkORM, models.Model),
3023
+ ),
3024
+ migrations.AddField(
3025
+ model_name="project",
3026
+ name="transforms",
3027
+ field=models.ManyToManyField(
3028
+ related_name="projects",
3029
+ through="lamindb.TransformProject",
3030
+ to="lamindb.transform",
3031
+ ),
3032
+ ),
3033
+ migrations.CreateModel(
3034
+ name="TransformReference",
3035
+ fields=[
3036
+ (
3037
+ "created_at",
3038
+ lamindb.base.fields.DateTimeField(
3039
+ blank=True,
3040
+ db_default=django.db.models.functions.datetime.Now(),
3041
+ db_index=True,
3042
+ editable=False,
3043
+ ),
3044
+ ),
3045
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
3046
+ (
3047
+ "reference",
3048
+ lamindb.base.fields.ForeignKey(
3049
+ blank=True,
3050
+ on_delete=django.db.models.deletion.PROTECT,
3051
+ related_name="links_transform",
3052
+ to="lamindb.reference",
3053
+ ),
3054
+ ),
3055
+ (
3056
+ "run",
3057
+ lamindb.base.fields.ForeignKey(
3058
+ blank=True,
3059
+ default=lamindb.models.current_run,
3060
+ null=True,
3061
+ on_delete=django.db.models.deletion.PROTECT,
3062
+ related_name="+",
3063
+ to="lamindb.run",
3064
+ ),
3065
+ ),
3066
+ (
3067
+ "transform",
3068
+ lamindb.base.fields.ForeignKey(
3069
+ blank=True,
3070
+ on_delete=django.db.models.deletion.CASCADE,
3071
+ related_name="links_reference",
3072
+ to="lamindb.transform",
3073
+ ),
3074
+ ),
3075
+ (
3076
+ "created_by",
3077
+ lamindb.base.fields.ForeignKey(
3078
+ blank=True,
3079
+ default=lamindb.base.users.current_user_id,
3080
+ editable=False,
3081
+ on_delete=django.db.models.deletion.PROTECT,
3082
+ related_name="+",
3083
+ to="lamindb.user",
3084
+ ),
3085
+ ),
3086
+ ],
3087
+ options={
3088
+ "unique_together": {("transform", "reference")},
3089
+ },
3090
+ bases=(lamindb.models.LinkORM, models.Model),
3091
+ ),
3092
+ migrations.AddField(
3093
+ model_name="reference",
3094
+ name="transforms",
3095
+ field=models.ManyToManyField(
3096
+ related_name="references",
3097
+ through="lamindb.TransformReference",
3098
+ to="lamindb.transform",
3099
+ ),
3100
+ ),
3101
+ migrations.CreateModel(
3102
+ name="ULabel",
3103
+ fields=[
3104
+ (
3105
+ "created_at",
3106
+ lamindb.base.fields.DateTimeField(
3107
+ blank=True,
3108
+ db_default=django.db.models.functions.datetime.Now(),
3109
+ db_index=True,
3110
+ editable=False,
3111
+ ),
3112
+ ),
3113
+ (
3114
+ "updated_at",
3115
+ lamindb.base.fields.DateTimeField(
3116
+ blank=True,
3117
+ db_default=django.db.models.functions.datetime.Now(),
3118
+ db_index=True,
3119
+ editable=False,
3120
+ ),
3121
+ ),
3122
+ (
3123
+ "_branch_code",
3124
+ models.SmallIntegerField(db_default=1, db_index=True, default=1),
3125
+ ),
3126
+ (
3127
+ "_aux",
3128
+ lamindb.base.fields.JSONField(
3129
+ blank=True, db_default=None, default=None, null=True
3130
+ ),
3131
+ ),
3132
+ ("id", models.AutoField(primary_key=True, serialize=False)),
3133
+ (
3134
+ "uid",
3135
+ lamindb.base.fields.CharField(
3136
+ blank=True,
3137
+ db_index=True,
3138
+ default=lamindb.base.ids.base62_8,
3139
+ editable=False,
3140
+ max_length=8,
3141
+ unique=True,
3142
+ ),
3143
+ ),
3144
+ (
3145
+ "name",
3146
+ lamindb.base.fields.CharField(
3147
+ blank=True, db_index=True, default=None, max_length=150
3148
+ ),
3149
+ ),
3150
+ (
3151
+ "is_type",
3152
+ lamindb.base.fields.BooleanField(
3153
+ blank=True, db_index=True, default=False, null=True
3154
+ ),
3155
+ ),
3156
+ (
3157
+ "description",
3158
+ lamindb.base.fields.CharField(
3159
+ blank=True,
3160
+ db_index=True,
3161
+ default=None,
3162
+ max_length=255,
3163
+ null=True,
3164
+ ),
3165
+ ),
3166
+ (
3167
+ "reference",
3168
+ lamindb.base.fields.CharField(
3169
+ blank=True,
3170
+ db_index=True,
3171
+ default=None,
3172
+ max_length=255,
3173
+ null=True,
3174
+ ),
3175
+ ),
3176
+ (
3177
+ "reference_type",
3178
+ lamindb.base.fields.CharField(
3179
+ blank=True,
3180
+ db_index=True,
3181
+ default=None,
3182
+ max_length=25,
3183
+ null=True,
3184
+ ),
3185
+ ),
3186
+ (
3187
+ "parents",
3188
+ models.ManyToManyField(
3189
+ related_name="children", to="lamindb.ulabel"
3190
+ ),
3191
+ ),
3192
+ (
3193
+ "run",
3194
+ lamindb.base.fields.ForeignKey(
3195
+ blank=True,
3196
+ default=lamindb.models.current_run,
3197
+ null=True,
3198
+ on_delete=django.db.models.deletion.PROTECT,
3199
+ related_name="+",
3200
+ to="lamindb.run",
3201
+ ),
3202
+ ),
3203
+ (
3204
+ "space",
3205
+ lamindb.base.fields.ForeignKey(
3206
+ blank=True,
3207
+ db_default=1,
3208
+ default=1,
3209
+ on_delete=django.db.models.deletion.PROTECT,
3210
+ to="lamindb.space",
3211
+ ),
3212
+ ),
3213
+ (
3214
+ "type",
3215
+ lamindb.base.fields.ForeignKey(
3216
+ blank=True,
3217
+ null=True,
3218
+ on_delete=django.db.models.deletion.PROTECT,
3219
+ related_name="records",
3220
+ to="lamindb.ulabel",
3221
+ ),
3222
+ ),
3223
+ (
3224
+ "created_by",
3225
+ lamindb.base.fields.ForeignKey(
3226
+ blank=True,
3227
+ default=lamindb.base.users.current_user_id,
3228
+ editable=False,
3229
+ on_delete=django.db.models.deletion.PROTECT,
3230
+ related_name="+",
3231
+ to="lamindb.user",
3232
+ ),
3233
+ ),
3234
+ ],
3235
+ options={
3236
+ "abstract": False,
3237
+ },
3238
+ bases=(lamindb.models.HasParents, lamindb.models.CanCurate, models.Model),
3239
+ ),
3240
+ migrations.CreateModel(
3241
+ name="TransformULabel",
3242
+ fields=[
3243
+ (
3244
+ "created_at",
3245
+ lamindb.base.fields.DateTimeField(
3246
+ blank=True,
3247
+ db_default=django.db.models.functions.datetime.Now(),
3248
+ db_index=True,
3249
+ editable=False,
3250
+ ),
3251
+ ),
3252
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
3253
+ (
3254
+ "run",
3255
+ lamindb.base.fields.ForeignKey(
3256
+ blank=True,
3257
+ default=lamindb.models.current_run,
3258
+ null=True,
3259
+ on_delete=django.db.models.deletion.PROTECT,
3260
+ related_name="+",
3261
+ to="lamindb.run",
3262
+ ),
3263
+ ),
3264
+ (
3265
+ "transform",
3266
+ lamindb.base.fields.ForeignKey(
3267
+ blank=True,
3268
+ on_delete=django.db.models.deletion.CASCADE,
3269
+ related_name="links_ulabel",
3270
+ to="lamindb.transform",
3271
+ ),
3272
+ ),
3273
+ (
3274
+ "ulabel",
3275
+ lamindb.base.fields.ForeignKey(
3276
+ blank=True,
3277
+ on_delete=django.db.models.deletion.PROTECT,
3278
+ related_name="links_transform",
3279
+ to="lamindb.ulabel",
3280
+ ),
3281
+ ),
3282
+ (
3283
+ "created_by",
3284
+ lamindb.base.fields.ForeignKey(
3285
+ blank=True,
3286
+ default=lamindb.base.users.current_user_id,
3287
+ editable=False,
3288
+ on_delete=django.db.models.deletion.PROTECT,
3289
+ related_name="+",
3290
+ to="lamindb.user",
3291
+ ),
3292
+ ),
3293
+ ],
3294
+ options={
3295
+ "unique_together": {("transform", "ulabel")},
3296
+ },
3297
+ bases=(lamindb.models.LinkORM, models.Model),
3298
+ ),
3299
+ migrations.AddField(
3300
+ model_name="transform",
3301
+ name="ulabels",
3302
+ field=models.ManyToManyField(
3303
+ related_name="transforms",
3304
+ through="lamindb.TransformULabel",
3305
+ to="lamindb.ulabel",
3306
+ ),
3307
+ ),
3308
+ migrations.CreateModel(
3309
+ name="RunULabel",
3310
+ fields=[
3311
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
3312
+ (
3313
+ "created_at",
3314
+ lamindb.base.fields.DateTimeField(
3315
+ blank=True,
3316
+ db_default=django.db.models.functions.datetime.Now(),
3317
+ db_index=True,
3318
+ editable=False,
3319
+ ),
3320
+ ),
3321
+ (
3322
+ "run",
3323
+ lamindb.base.fields.ForeignKey(
3324
+ blank=True,
3325
+ on_delete=django.db.models.deletion.CASCADE,
3326
+ related_name="links_ulabel",
3327
+ to="lamindb.run",
3328
+ ),
3329
+ ),
3330
+ (
3331
+ "ulabel",
3332
+ lamindb.base.fields.ForeignKey(
3333
+ blank=True,
3334
+ on_delete=django.db.models.deletion.PROTECT,
3335
+ related_name="links_run",
3336
+ to="lamindb.ulabel",
3337
+ ),
3338
+ ),
3339
+ (
3340
+ "created_by",
3341
+ lamindb.base.fields.ForeignKey(
3342
+ blank=True,
3343
+ default=lamindb.base.users.current_user_id,
3344
+ on_delete=django.db.models.deletion.PROTECT,
3345
+ related_name="+",
3346
+ to="lamindb.user",
3347
+ ),
3348
+ ),
3349
+ ],
3350
+ options={
3351
+ "unique_together": {("run", "ulabel")},
3352
+ },
3353
+ bases=(models.Model, lamindb.models.LinkORM),
3354
+ ),
3355
+ migrations.AddField(
3356
+ model_name="run",
3357
+ name="ulabels",
3358
+ field=models.ManyToManyField(
3359
+ related_name="runs", through="lamindb.RunULabel", to="lamindb.ulabel"
3360
+ ),
3361
+ ),
3362
+ migrations.CreateModel(
3363
+ name="CollectionULabel",
3364
+ fields=[
3365
+ (
3366
+ "created_at",
3367
+ lamindb.base.fields.DateTimeField(
3368
+ blank=True,
3369
+ db_default=django.db.models.functions.datetime.Now(),
3370
+ db_index=True,
3371
+ editable=False,
3372
+ ),
3373
+ ),
3374
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
3375
+ (
3376
+ "label_ref_is_name",
3377
+ lamindb.base.fields.BooleanField(
3378
+ blank=True, default=None, null=True
3379
+ ),
3380
+ ),
3381
+ (
3382
+ "feature_ref_is_name",
3383
+ lamindb.base.fields.BooleanField(
3384
+ blank=True, default=None, null=True
3385
+ ),
3386
+ ),
3387
+ (
3388
+ "collection",
3389
+ lamindb.base.fields.ForeignKey(
3390
+ blank=True,
3391
+ on_delete=django.db.models.deletion.CASCADE,
3392
+ related_name="links_ulabel",
3393
+ to="lamindb.collection",
3394
+ ),
3395
+ ),
3396
+ (
3397
+ "feature",
3398
+ lamindb.base.fields.ForeignKey(
3399
+ blank=True,
3400
+ default=None,
3401
+ null=True,
3402
+ on_delete=django.db.models.deletion.PROTECT,
3403
+ related_name="links_collectionulabel",
3404
+ to="lamindb.feature",
3405
+ ),
3406
+ ),
3407
+ (
3408
+ "run",
3409
+ lamindb.base.fields.ForeignKey(
3410
+ blank=True,
3411
+ default=lamindb.models.current_run,
3412
+ null=True,
3413
+ on_delete=django.db.models.deletion.PROTECT,
3414
+ related_name="+",
3415
+ to="lamindb.run",
3416
+ ),
3417
+ ),
3418
+ (
3419
+ "ulabel",
3420
+ lamindb.base.fields.ForeignKey(
3421
+ blank=True,
3422
+ on_delete=django.db.models.deletion.PROTECT,
3423
+ related_name="links_collection",
3424
+ to="lamindb.ulabel",
3425
+ ),
3426
+ ),
3427
+ (
3428
+ "created_by",
3429
+ lamindb.base.fields.ForeignKey(
3430
+ blank=True,
3431
+ default=lamindb.base.users.current_user_id,
3432
+ editable=False,
3433
+ on_delete=django.db.models.deletion.PROTECT,
3434
+ related_name="+",
3435
+ to="lamindb.user",
3436
+ ),
3437
+ ),
3438
+ ],
3439
+ bases=(lamindb.models.LinkORM, models.Model),
3440
+ ),
3441
+ migrations.AddField(
3442
+ model_name="collection",
3443
+ name="ulabels",
3444
+ field=models.ManyToManyField(
3445
+ related_name="collections",
3446
+ through="lamindb.CollectionULabel",
3447
+ to="lamindb.ulabel",
3448
+ ),
3449
+ ),
3450
+ migrations.CreateModel(
3451
+ name="ArtifactULabel",
3452
+ fields=[
3453
+ (
3454
+ "created_at",
3455
+ lamindb.base.fields.DateTimeField(
3456
+ blank=True,
3457
+ db_default=django.db.models.functions.datetime.Now(),
3458
+ db_index=True,
3459
+ editable=False,
3460
+ ),
3461
+ ),
3462
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
3463
+ (
3464
+ "label_ref_is_name",
3465
+ lamindb.base.fields.BooleanField(
3466
+ blank=True, default=None, null=True
3467
+ ),
3468
+ ),
3469
+ (
3470
+ "feature_ref_is_name",
3471
+ lamindb.base.fields.BooleanField(
3472
+ blank=True, default=None, null=True
3473
+ ),
3474
+ ),
3475
+ (
3476
+ "artifact",
3477
+ lamindb.base.fields.ForeignKey(
3478
+ blank=True,
3479
+ on_delete=django.db.models.deletion.CASCADE,
3480
+ related_name="links_ulabel",
3481
+ to="lamindb.artifact",
3482
+ ),
3483
+ ),
3484
+ (
3485
+ "feature",
3486
+ lamindb.base.fields.ForeignKey(
3487
+ blank=True,
3488
+ default=None,
3489
+ null=True,
3490
+ on_delete=django.db.models.deletion.PROTECT,
3491
+ related_name="links_artifactulabel",
3492
+ to="lamindb.feature",
3493
+ ),
3494
+ ),
3495
+ (
3496
+ "run",
3497
+ lamindb.base.fields.ForeignKey(
3498
+ blank=True,
3499
+ default=lamindb.models.current_run,
3500
+ null=True,
3501
+ on_delete=django.db.models.deletion.PROTECT,
3502
+ related_name="+",
3503
+ to="lamindb.run",
3504
+ ),
3505
+ ),
3506
+ (
3507
+ "ulabel",
3508
+ lamindb.base.fields.ForeignKey(
3509
+ blank=True,
3510
+ on_delete=django.db.models.deletion.PROTECT,
3511
+ related_name="links_artifact",
3512
+ to="lamindb.ulabel",
3513
+ ),
3514
+ ),
3515
+ (
3516
+ "created_by",
3517
+ lamindb.base.fields.ForeignKey(
3518
+ blank=True,
3519
+ default=lamindb.base.users.current_user_id,
3520
+ editable=False,
3521
+ on_delete=django.db.models.deletion.PROTECT,
3522
+ related_name="+",
3523
+ to="lamindb.user",
3524
+ ),
3525
+ ),
3526
+ ],
3527
+ bases=(lamindb.models.LinkORM, models.Model),
3528
+ ),
3529
+ migrations.AddField(
3530
+ model_name="artifact",
3531
+ name="ulabels",
3532
+ field=models.ManyToManyField(
3533
+ related_name="artifacts",
3534
+ through="lamindb.ArtifactULabel",
3535
+ to="lamindb.ulabel",
3536
+ ),
3537
+ ),
3538
+ migrations.CreateModel(
3539
+ name="ULabelProject",
3540
+ fields=[
3541
+ (
3542
+ "created_at",
3543
+ lamindb.base.fields.DateTimeField(
3544
+ blank=True,
3545
+ db_default=django.db.models.functions.datetime.Now(),
3546
+ db_index=True,
3547
+ editable=False,
3548
+ ),
3549
+ ),
3550
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
3551
+ (
3552
+ "project",
3553
+ lamindb.base.fields.ForeignKey(
3554
+ blank=True,
3555
+ on_delete=django.db.models.deletion.PROTECT,
3556
+ related_name="links_ulabel",
3557
+ to="lamindb.project",
3558
+ ),
3559
+ ),
3560
+ (
3561
+ "run",
3562
+ lamindb.base.fields.ForeignKey(
3563
+ blank=True,
3564
+ default=lamindb.models.current_run,
3565
+ null=True,
3566
+ on_delete=django.db.models.deletion.PROTECT,
3567
+ related_name="+",
3568
+ to="lamindb.run",
3569
+ ),
3570
+ ),
3571
+ (
3572
+ "ulabel",
3573
+ lamindb.base.fields.ForeignKey(
3574
+ blank=True,
3575
+ on_delete=django.db.models.deletion.CASCADE,
3576
+ related_name="links_project",
3577
+ to="lamindb.ulabel",
3578
+ ),
3579
+ ),
3580
+ (
3581
+ "created_by",
3582
+ lamindb.base.fields.ForeignKey(
3583
+ blank=True,
3584
+ default=lamindb.base.users.current_user_id,
3585
+ editable=False,
3586
+ on_delete=django.db.models.deletion.PROTECT,
3587
+ related_name="+",
3588
+ to="lamindb.user",
3589
+ ),
3590
+ ),
3591
+ ],
3592
+ options={
3593
+ "unique_together": {("ulabel", "project")},
3594
+ },
3595
+ bases=(lamindb.models.LinkORM, models.Model),
3596
+ ),
3597
+ migrations.AddField(
3598
+ model_name="project",
3599
+ name="ulabels",
3600
+ field=models.ManyToManyField(
3601
+ related_name="projects",
3602
+ through="lamindb.ULabelProject",
3603
+ to="lamindb.ulabel",
3604
+ ),
3605
+ ),
3606
+ migrations.AddField(
3607
+ model_name="transform",
3608
+ name="created_by",
3609
+ field=lamindb.base.fields.ForeignKey(
3610
+ blank=True,
3611
+ default=lamindb.base.users.current_user_id,
3612
+ on_delete=django.db.models.deletion.PROTECT,
3613
+ related_name="created_transforms",
3614
+ to="lamindb.user",
3615
+ ),
3616
+ ),
3617
+ migrations.AddField(
3618
+ model_name="space",
3619
+ name="created_by",
3620
+ field=lamindb.base.fields.ForeignKey(
3621
+ blank=True,
3622
+ default=None,
3623
+ null=True,
3624
+ on_delete=django.db.models.deletion.CASCADE,
3625
+ related_name="+",
3626
+ to="lamindb.user",
3627
+ ),
3628
+ ),
3629
+ migrations.AddField(
3630
+ model_name="schema",
3631
+ name="created_by",
3632
+ field=lamindb.base.fields.ForeignKey(
3633
+ blank=True,
3634
+ default=lamindb.base.users.current_user_id,
3635
+ editable=False,
3636
+ on_delete=django.db.models.deletion.PROTECT,
3637
+ related_name="+",
3638
+ to="lamindb.user",
3639
+ ),
3640
+ ),
3641
+ migrations.AddField(
3642
+ model_name="run",
3643
+ name="created_by",
3644
+ field=lamindb.base.fields.ForeignKey(
3645
+ blank=True,
3646
+ default=lamindb.base.users.current_user_id,
3647
+ on_delete=django.db.models.deletion.CASCADE,
3648
+ related_name="created_runs",
3649
+ to="lamindb.user",
3650
+ ),
3651
+ ),
3652
+ migrations.AddField(
3653
+ model_name="reference",
3654
+ name="created_by",
3655
+ field=lamindb.base.fields.ForeignKey(
3656
+ blank=True,
3657
+ default=lamindb.base.users.current_user_id,
3658
+ editable=False,
3659
+ on_delete=django.db.models.deletion.PROTECT,
3660
+ related_name="+",
3661
+ to="lamindb.user",
3662
+ ),
3663
+ ),
3664
+ migrations.AddField(
3665
+ model_name="project",
3666
+ name="created_by",
3667
+ field=lamindb.base.fields.ForeignKey(
3668
+ blank=True,
3669
+ default=lamindb.base.users.current_user_id,
3670
+ editable=False,
3671
+ on_delete=django.db.models.deletion.PROTECT,
3672
+ related_name="+",
3673
+ to="lamindb.user",
3674
+ ),
3675
+ ),
3676
+ migrations.AddField(
3677
+ model_name="personproject",
3678
+ name="created_by",
3679
+ field=lamindb.base.fields.ForeignKey(
3680
+ blank=True,
3681
+ default=lamindb.base.users.current_user_id,
3682
+ editable=False,
3683
+ on_delete=django.db.models.deletion.PROTECT,
3684
+ related_name="+",
3685
+ to="lamindb.user",
3686
+ ),
3687
+ ),
3688
+ migrations.AddField(
3689
+ model_name="person",
3690
+ name="created_by",
3691
+ field=lamindb.base.fields.ForeignKey(
3692
+ blank=True,
3693
+ default=lamindb.base.users.current_user_id,
3694
+ editable=False,
3695
+ on_delete=django.db.models.deletion.PROTECT,
3696
+ related_name="+",
3697
+ to="lamindb.user",
3698
+ ),
3699
+ ),
3700
+ migrations.AddField(
3701
+ model_name="param",
3702
+ name="created_by",
3703
+ field=lamindb.base.fields.ForeignKey(
3704
+ blank=True,
3705
+ default=lamindb.base.users.current_user_id,
3706
+ editable=False,
3707
+ on_delete=django.db.models.deletion.PROTECT,
3708
+ related_name="+",
3709
+ to="lamindb.user",
3710
+ ),
3711
+ ),
3712
+ migrations.CreateModel(
3713
+ name="FlexTable",
3714
+ fields=[
3715
+ (
3716
+ "id",
3717
+ models.BigAutoField(
3718
+ auto_created=True,
3719
+ primary_key=True,
3720
+ serialize=False,
3721
+ verbose_name="ID",
3722
+ ),
3723
+ ),
3724
+ (
3725
+ "created_at",
3726
+ lamindb.base.fields.DateTimeField(
3727
+ blank=True,
3728
+ db_default=django.db.models.functions.datetime.Now(),
3729
+ db_index=True,
3730
+ editable=False,
3731
+ ),
3732
+ ),
3733
+ (
3734
+ "updated_at",
3735
+ lamindb.base.fields.DateTimeField(
3736
+ blank=True,
3737
+ db_default=django.db.models.functions.datetime.Now(),
3738
+ db_index=True,
3739
+ editable=False,
3740
+ ),
3741
+ ),
3742
+ (
3743
+ "_branch_code",
3744
+ models.SmallIntegerField(db_default=1, db_index=True, default=1),
3745
+ ),
3746
+ (
3747
+ "_aux",
3748
+ lamindb.base.fields.JSONField(
3749
+ blank=True, db_default=None, default=None, null=True
3750
+ ),
3751
+ ),
3752
+ (
3753
+ "uid",
3754
+ lamindb.base.fields.CharField(
3755
+ blank=True,
3756
+ db_index=True,
3757
+ default=lamindb.base.ids.base62_12,
3758
+ editable=False,
3759
+ max_length=12,
3760
+ unique=True,
3761
+ ),
3762
+ ),
3763
+ (
3764
+ "name",
3765
+ lamindb.base.fields.CharField(
3766
+ blank=True, default=None, max_length=255
3767
+ ),
3768
+ ),
3769
+ (
3770
+ "is_type",
3771
+ lamindb.base.fields.BooleanField(
3772
+ blank=True, db_index=True, default=False, null=True
3773
+ ),
3774
+ ),
3775
+ (
3776
+ "description",
3777
+ lamindb.base.fields.CharField(
3778
+ blank=True,
3779
+ db_index=True,
3780
+ default=None,
3781
+ max_length=255,
3782
+ null=True,
3783
+ ),
3784
+ ),
3785
+ (
3786
+ "type",
3787
+ lamindb.base.fields.ForeignKey(
3788
+ blank=True,
3789
+ null=True,
3790
+ on_delete=django.db.models.deletion.PROTECT,
3791
+ related_name="records",
3792
+ to="lamindb.flextable",
3793
+ ),
3794
+ ),
3795
+ (
3796
+ "projects",
3797
+ models.ManyToManyField(
3798
+ related_name="_tidytables", to="lamindb.project"
3799
+ ),
3800
+ ),
3801
+ (
3802
+ "run",
3803
+ lamindb.base.fields.ForeignKey(
3804
+ blank=True,
3805
+ default=lamindb.models.current_run,
3806
+ null=True,
3807
+ on_delete=django.db.models.deletion.PROTECT,
3808
+ related_name="+",
3809
+ to="lamindb.run",
3810
+ ),
3811
+ ),
3812
+ (
3813
+ "schema",
3814
+ lamindb.base.fields.ForeignKey(
3815
+ blank=True,
3816
+ null=True,
3817
+ on_delete=django.db.models.deletion.SET_NULL,
3818
+ related_name="_tidytables",
3819
+ to="lamindb.schema",
3820
+ ),
3821
+ ),
3822
+ (
3823
+ "space",
3824
+ lamindb.base.fields.ForeignKey(
3825
+ blank=True,
3826
+ db_default=1,
3827
+ default=1,
3828
+ on_delete=django.db.models.deletion.PROTECT,
3829
+ to="lamindb.space",
3830
+ ),
3831
+ ),
3832
+ (
3833
+ "ulabels",
3834
+ models.ManyToManyField(
3835
+ related_name="_tidytables", to="lamindb.ulabel"
3836
+ ),
3837
+ ),
3838
+ (
3839
+ "created_by",
3840
+ lamindb.base.fields.ForeignKey(
3841
+ blank=True,
3842
+ default=lamindb.base.users.current_user_id,
3843
+ editable=False,
3844
+ on_delete=django.db.models.deletion.PROTECT,
3845
+ related_name="+",
3846
+ to="lamindb.user",
3847
+ ),
3848
+ ),
3849
+ ],
3850
+ ),
3851
+ migrations.AddField(
3852
+ model_name="featurevalue",
3853
+ name="created_by",
3854
+ field=lamindb.base.fields.ForeignKey(
3855
+ blank=True,
3856
+ default=lamindb.base.users.current_user_id,
3857
+ editable=False,
3858
+ on_delete=django.db.models.deletion.PROTECT,
3859
+ related_name="+",
3860
+ to="lamindb.user",
3861
+ ),
3862
+ ),
3863
+ migrations.AddField(
3864
+ model_name="featureproject",
3865
+ name="created_by",
3866
+ field=lamindb.base.fields.ForeignKey(
3867
+ blank=True,
3868
+ default=lamindb.base.users.current_user_id,
3869
+ editable=False,
3870
+ on_delete=django.db.models.deletion.PROTECT,
3871
+ related_name="+",
3872
+ to="lamindb.user",
3873
+ ),
3874
+ ),
3875
+ migrations.AddField(
3876
+ model_name="feature",
3877
+ name="created_by",
3878
+ field=lamindb.base.fields.ForeignKey(
3879
+ blank=True,
3880
+ default=lamindb.base.users.current_user_id,
3881
+ editable=False,
3882
+ on_delete=django.db.models.deletion.PROTECT,
3883
+ related_name="+",
3884
+ to="lamindb.user",
3885
+ ),
3886
+ ),
3887
+ migrations.AddField(
3888
+ model_name="collectionreference",
3889
+ name="created_by",
3890
+ field=lamindb.base.fields.ForeignKey(
3891
+ blank=True,
3892
+ default=lamindb.base.users.current_user_id,
3893
+ editable=False,
3894
+ on_delete=django.db.models.deletion.PROTECT,
3895
+ related_name="+",
3896
+ to="lamindb.user",
3897
+ ),
3898
+ ),
3899
+ migrations.AddField(
3900
+ model_name="collectionproject",
3901
+ name="created_by",
3902
+ field=lamindb.base.fields.ForeignKey(
3903
+ blank=True,
3904
+ default=lamindb.base.users.current_user_id,
3905
+ editable=False,
3906
+ on_delete=django.db.models.deletion.PROTECT,
3907
+ related_name="+",
3908
+ to="lamindb.user",
3909
+ ),
3910
+ ),
3911
+ migrations.AddField(
3912
+ model_name="collectionartifact",
3913
+ name="created_by",
3914
+ field=lamindb.base.fields.ForeignKey(
3915
+ blank=True,
3916
+ default=lamindb.base.users.current_user_id,
3917
+ editable=False,
3918
+ on_delete=django.db.models.deletion.PROTECT,
3919
+ related_name="+",
3920
+ to="lamindb.user",
3921
+ ),
3922
+ ),
3923
+ migrations.AddField(
3924
+ model_name="collection",
3925
+ name="created_by",
3926
+ field=lamindb.base.fields.ForeignKey(
3927
+ blank=True,
3928
+ default=lamindb.base.users.current_user_id,
3929
+ editable=False,
3930
+ on_delete=django.db.models.deletion.PROTECT,
3931
+ related_name="+",
3932
+ to="lamindb.user",
3933
+ ),
3934
+ ),
3935
+ migrations.AddField(
3936
+ model_name="artifactreference",
3937
+ name="created_by",
3938
+ field=lamindb.base.fields.ForeignKey(
3939
+ blank=True,
3940
+ default=lamindb.base.users.current_user_id,
3941
+ editable=False,
3942
+ on_delete=django.db.models.deletion.PROTECT,
3943
+ related_name="+",
3944
+ to="lamindb.user",
3945
+ ),
3946
+ ),
3947
+ migrations.AddField(
3948
+ model_name="artifactproject",
3949
+ name="created_by",
3950
+ field=lamindb.base.fields.ForeignKey(
3951
+ blank=True,
3952
+ default=lamindb.base.users.current_user_id,
3953
+ editable=False,
3954
+ on_delete=django.db.models.deletion.PROTECT,
3955
+ related_name="+",
3956
+ to="lamindb.user",
3957
+ ),
3958
+ ),
3959
+ migrations.AddField(
3960
+ model_name="artifactparamvalue",
3961
+ name="created_by",
3962
+ field=lamindb.base.fields.ForeignKey(
3963
+ blank=True,
3964
+ default=lamindb.base.users.current_user_id,
3965
+ editable=False,
3966
+ on_delete=django.db.models.deletion.PROTECT,
3967
+ related_name="+",
3968
+ to="lamindb.user",
3969
+ ),
3970
+ ),
3971
+ migrations.AddField(
3972
+ model_name="artifactfeaturevalue",
3973
+ name="created_by",
3974
+ field=lamindb.base.fields.ForeignKey(
3975
+ blank=True,
3976
+ default=lamindb.base.users.current_user_id,
3977
+ editable=False,
3978
+ on_delete=django.db.models.deletion.PROTECT,
3979
+ related_name="+",
3980
+ to="lamindb.user",
3981
+ ),
3982
+ ),
3983
+ migrations.AddField(
3984
+ model_name="artifact",
3985
+ name="created_by",
3986
+ field=lamindb.base.fields.ForeignKey(
3987
+ blank=True,
3988
+ default=lamindb.base.users.current_user_id,
3989
+ editable=False,
3990
+ on_delete=django.db.models.deletion.PROTECT,
3991
+ related_name="created_artifacts",
3992
+ to="lamindb.user",
3993
+ ),
3994
+ ),
3995
+ migrations.CreateModel(
3996
+ name="RunData",
3997
+ fields=[
3998
+ (
3999
+ "id",
4000
+ models.BigAutoField(
4001
+ auto_created=True,
4002
+ primary_key=True,
4003
+ serialize=False,
4004
+ verbose_name="ID",
4005
+ ),
4006
+ ),
4007
+ (
4008
+ "row",
4009
+ lamindb.base.fields.IntegerField(
4010
+ blank=True, help_text="Use -1 for result data"
4011
+ ),
4012
+ ),
4013
+ ("value_int", models.BigIntegerField(blank=True, null=True)),
4014
+ ("value_float", models.FloatField(blank=True, null=True)),
4015
+ ("value_str", models.TextField(blank=True, null=True)),
4016
+ ("value_datetime", models.DateTimeField(blank=True, null=True)),
4017
+ ("value_json", models.JSONField(blank=True, null=True)),
4018
+ (
4019
+ "feature",
4020
+ lamindb.base.fields.ForeignKey(
4021
+ blank=True,
4022
+ null=True,
4023
+ on_delete=django.db.models.deletion.CASCADE,
4024
+ related_name="+",
4025
+ to="lamindb.feature",
4026
+ ),
4027
+ ),
4028
+ (
4029
+ "param",
4030
+ lamindb.base.fields.ForeignKey(
4031
+ blank=True,
4032
+ null=True,
4033
+ on_delete=django.db.models.deletion.CASCADE,
4034
+ related_name="+",
4035
+ to="lamindb.param",
4036
+ ),
4037
+ ),
4038
+ (
4039
+ "run",
4040
+ models.ForeignKey(
4041
+ on_delete=django.db.models.deletion.CASCADE,
4042
+ related_name="_rundata",
4043
+ to="lamindb.run",
4044
+ ),
4045
+ ),
4046
+ (
4047
+ "value_artifact",
4048
+ models.ForeignKey(
4049
+ blank=True,
4050
+ null=True,
4051
+ on_delete=django.db.models.deletion.CASCADE,
4052
+ related_name="+",
4053
+ to="lamindb.artifact",
4054
+ ),
4055
+ ),
4056
+ (
4057
+ "value_collection",
4058
+ models.ForeignKey(
4059
+ blank=True,
4060
+ null=True,
4061
+ on_delete=django.db.models.deletion.CASCADE,
4062
+ related_name="+",
4063
+ to="lamindb.collection",
4064
+ ),
4065
+ ),
4066
+ (
4067
+ "value_person",
4068
+ models.ForeignKey(
4069
+ blank=True,
4070
+ null=True,
4071
+ on_delete=django.db.models.deletion.CASCADE,
4072
+ related_name="+",
4073
+ to="lamindb.person",
4074
+ ),
4075
+ ),
4076
+ (
4077
+ "value_project",
4078
+ models.ForeignKey(
4079
+ blank=True,
4080
+ null=True,
4081
+ on_delete=django.db.models.deletion.CASCADE,
4082
+ related_name="+",
4083
+ to="lamindb.project",
4084
+ ),
4085
+ ),
4086
+ (
4087
+ "space",
4088
+ lamindb.base.fields.ForeignKey(
4089
+ blank=True,
4090
+ db_default=1,
4091
+ default=1,
4092
+ on_delete=django.db.models.deletion.PROTECT,
4093
+ to="lamindb.space",
4094
+ ),
4095
+ ),
4096
+ (
4097
+ "value_ulabel",
4098
+ models.ForeignKey(
4099
+ blank=True,
4100
+ null=True,
4101
+ on_delete=django.db.models.deletion.CASCADE,
4102
+ related_name="+",
4103
+ to="lamindb.ulabel",
4104
+ ),
4105
+ ),
4106
+ ],
4107
+ options={
4108
+ "indexes": [
4109
+ models.Index(
4110
+ fields=["run", "row"], name="lamindb_run_run_id_c02e71_idx"
4111
+ ),
4112
+ models.Index(
4113
+ fields=["feature"], name="lamindb_run_feature_a37229_idx"
4114
+ ),
4115
+ models.Index(
4116
+ fields=["param"], name="lamindb_run_param_i_cee058_idx"
4117
+ ),
4118
+ ],
4119
+ "constraints": [
4120
+ models.CheckConstraint(
4121
+ condition=models.Q(
4122
+ models.Q(
4123
+ ("feature__isnull", False), ("param__isnull", True)
4124
+ ),
4125
+ models.Q(
4126
+ ("feature__isnull", True), ("param__isnull", False)
4127
+ ),
4128
+ _connector="OR",
4129
+ ),
4130
+ name="run_data_feature_param_mutex",
4131
+ ),
4132
+ models.UniqueConstraint(
4133
+ fields=("run", "row", "feature", "param"),
4134
+ name="run_data_unique",
4135
+ ),
4136
+ ],
4137
+ },
4138
+ ),
4139
+ migrations.CreateModel(
4140
+ name="FlexTableData",
4141
+ fields=[
4142
+ (
4143
+ "id",
4144
+ models.BigAutoField(
4145
+ auto_created=True,
4146
+ primary_key=True,
4147
+ serialize=False,
4148
+ verbose_name="ID",
4149
+ ),
4150
+ ),
4151
+ (
4152
+ "row",
4153
+ lamindb.base.fields.IntegerField(
4154
+ blank=True, help_text="Use -1 for result data"
4155
+ ),
4156
+ ),
4157
+ ("value_int", models.BigIntegerField(blank=True, null=True)),
4158
+ ("value_float", models.FloatField(blank=True, null=True)),
4159
+ ("value_str", models.TextField(blank=True, null=True)),
4160
+ ("value_datetime", models.DateTimeField(blank=True, null=True)),
4161
+ ("value_json", models.JSONField(blank=True, null=True)),
4162
+ (
4163
+ "feature",
4164
+ lamindb.base.fields.ForeignKey(
4165
+ blank=True,
4166
+ null=True,
4167
+ on_delete=django.db.models.deletion.CASCADE,
4168
+ related_name="+",
4169
+ to="lamindb.feature",
4170
+ ),
4171
+ ),
4172
+ (
4173
+ "tidytable",
4174
+ models.ForeignKey(
4175
+ on_delete=django.db.models.deletion.CASCADE,
4176
+ related_name="data",
4177
+ to="lamindb.flextable",
4178
+ ),
4179
+ ),
4180
+ (
4181
+ "value_artifact",
4182
+ models.ForeignKey(
4183
+ blank=True,
4184
+ null=True,
4185
+ on_delete=django.db.models.deletion.CASCADE,
4186
+ related_name="+",
4187
+ to="lamindb.artifact",
4188
+ ),
4189
+ ),
4190
+ (
4191
+ "value_collection",
4192
+ models.ForeignKey(
4193
+ blank=True,
4194
+ null=True,
4195
+ on_delete=django.db.models.deletion.CASCADE,
4196
+ related_name="+",
4197
+ to="lamindb.collection",
4198
+ ),
4199
+ ),
4200
+ (
4201
+ "param",
4202
+ lamindb.base.fields.ForeignKey(
4203
+ blank=True,
4204
+ null=True,
4205
+ on_delete=django.db.models.deletion.CASCADE,
4206
+ related_name="+",
4207
+ to="lamindb.param",
4208
+ ),
4209
+ ),
4210
+ (
4211
+ "value_person",
4212
+ models.ForeignKey(
4213
+ blank=True,
4214
+ null=True,
4215
+ on_delete=django.db.models.deletion.CASCADE,
4216
+ related_name="+",
4217
+ to="lamindb.person",
4218
+ ),
4219
+ ),
4220
+ (
4221
+ "value_project",
4222
+ models.ForeignKey(
4223
+ blank=True,
4224
+ null=True,
4225
+ on_delete=django.db.models.deletion.CASCADE,
4226
+ related_name="+",
4227
+ to="lamindb.project",
4228
+ ),
4229
+ ),
4230
+ (
4231
+ "space",
4232
+ lamindb.base.fields.ForeignKey(
4233
+ blank=True,
4234
+ db_default=1,
4235
+ default=1,
4236
+ on_delete=django.db.models.deletion.PROTECT,
4237
+ to="lamindb.space",
4238
+ ),
4239
+ ),
4240
+ (
4241
+ "value_ulabel",
4242
+ models.ForeignKey(
4243
+ blank=True,
4244
+ null=True,
4245
+ on_delete=django.db.models.deletion.CASCADE,
4246
+ related_name="+",
4247
+ to="lamindb.ulabel",
4248
+ ),
4249
+ ),
4250
+ ],
4251
+ options={
4252
+ "indexes": [
4253
+ models.Index(
4254
+ fields=["tidytable", "row"],
4255
+ name="lamindb_fle_tidytab_1674c1_idx",
4256
+ ),
4257
+ models.Index(
4258
+ fields=["feature"], name="lamindb_fle_feature_830e49_idx"
4259
+ ),
4260
+ models.Index(
4261
+ fields=["param"], name="lamindb_fle_param_i_4149cb_idx"
4262
+ ),
4263
+ ],
4264
+ "constraints": [
4265
+ models.CheckConstraint(
4266
+ condition=models.Q(
4267
+ models.Q(
4268
+ ("feature__isnull", False), ("param__isnull", True)
4269
+ ),
4270
+ models.Q(
4271
+ ("feature__isnull", True), ("param__isnull", False)
4272
+ ),
4273
+ _connector="OR",
4274
+ ),
4275
+ name="tidy_table_data_feature_param_mutex",
4276
+ ),
4277
+ models.UniqueConstraint(
4278
+ fields=("tidytable", "row", "feature", "param"),
4279
+ name="tidy_table_data_unique",
4280
+ ),
4281
+ ],
4282
+ },
4283
+ ),
4284
+ migrations.AlterUniqueTogether(
4285
+ name="personproject",
4286
+ unique_together={("person", "project")},
4287
+ ),
4288
+ migrations.AddConstraint(
4289
+ model_name="paramvalue",
4290
+ constraint=models.UniqueConstraint(
4291
+ condition=models.Q(("hash__isnull", True)),
4292
+ fields=("param", "value"),
4293
+ name="unique_simple_param_value",
4294
+ ),
4295
+ ),
4296
+ migrations.AddConstraint(
4297
+ model_name="paramvalue",
4298
+ constraint=models.UniqueConstraint(
4299
+ condition=models.Q(("hash__isnull", False)),
4300
+ fields=("param", "hash"),
4301
+ name="unique_complex_param_value",
4302
+ ),
4303
+ ),
4304
+ migrations.AddIndex(
4305
+ model_name="flextable",
4306
+ index=models.Index(fields=["uid"], name="lamindb_fle_uid_e6f216_idx"),
4307
+ ),
4308
+ migrations.AddIndex(
4309
+ model_name="flextable",
4310
+ index=models.Index(fields=["name"], name="lamindb_fle_name_568594_idx"),
4311
+ ),
4312
+ migrations.AddConstraint(
4313
+ model_name="featurevalue",
4314
+ constraint=models.UniqueConstraint(
4315
+ condition=models.Q(("hash__isnull", True)),
4316
+ fields=("feature", "value"),
4317
+ name="unique_simple_feature_value",
4318
+ ),
4319
+ ),
4320
+ migrations.AddConstraint(
4321
+ model_name="featurevalue",
4322
+ constraint=models.UniqueConstraint(
4323
+ condition=models.Q(("hash__isnull", False)),
4324
+ fields=("feature", "hash"),
4325
+ name="unique_complex_feature_value",
4326
+ ),
4327
+ ),
4328
+ migrations.AlterUniqueTogether(
4329
+ name="featureproject",
4330
+ unique_together={("feature", "project")},
4331
+ ),
4332
+ migrations.AlterUniqueTogether(
4333
+ name="collectionulabel",
4334
+ unique_together={("collection", "ulabel")},
4335
+ ),
4336
+ migrations.AlterUniqueTogether(
4337
+ name="collectionreference",
4338
+ unique_together={("collection", "reference")},
4339
+ ),
4340
+ migrations.AlterUniqueTogether(
4341
+ name="collectionproject",
4342
+ unique_together={("collection", "project")},
4343
+ ),
4344
+ migrations.AlterUniqueTogether(
4345
+ name="collectionartifact",
4346
+ unique_together={("collection", "artifact")},
4347
+ ),
4348
+ migrations.AlterUniqueTogether(
4349
+ name="artifactulabel",
4350
+ unique_together={("artifact", "ulabel", "feature")},
4351
+ ),
4352
+ migrations.AlterUniqueTogether(
4353
+ name="artifactschema",
4354
+ unique_together={("artifact", "schema"), ("artifact", "slot")},
4355
+ ),
4356
+ migrations.AlterUniqueTogether(
4357
+ name="artifactreference",
4358
+ unique_together={("artifact", "reference", "feature")},
4359
+ ),
4360
+ migrations.AlterUniqueTogether(
4361
+ name="artifactproject",
4362
+ unique_together={("artifact", "project", "feature")},
4363
+ ),
4364
+ migrations.AlterUniqueTogether(
4365
+ name="artifactparamvalue",
4366
+ unique_together={("artifact", "paramvalue")},
4367
+ ),
4368
+ migrations.AlterUniqueTogether(
4369
+ name="artifactfeaturevalue",
4370
+ unique_together={("artifact", "featurevalue")},
4371
+ ),
4372
+ ]