lamindb 1.11.3__py3-none-any.whl → 1.12.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. lamindb/__init__.py +8 -14
  2. lamindb/_tracked.py +2 -0
  3. lamindb/base/types.py +1 -3
  4. lamindb/core/_context.py +16 -31
  5. lamindb/core/_mapped_collection.py +2 -2
  6. lamindb/core/storage/paths.py +5 -3
  7. lamindb/curators/core.py +15 -4
  8. lamindb/examples/__init__.py +3 -1
  9. lamindb/examples/croissant/__init__.py +3 -1
  10. lamindb/examples/mlflow/__init__.py +38 -0
  11. lamindb/examples/wandb/__init__.py +40 -0
  12. lamindb/integrations/__init__.py +26 -0
  13. lamindb/integrations/_lightning.py +87 -0
  14. lamindb/migrations/0120_add_record_fk_constraint.py +1 -1
  15. lamindb/migrations/0122_remove_personproject_person_and_more.py +219 -0
  16. lamindb/migrations/0123_alter_artifact_description_alter_branch_description_and_more.py +82 -0
  17. lamindb/migrations/0124_page_artifact_page_collection_page_feature_page_and_more.py +15 -0
  18. lamindb/migrations/0125_artifact_is_locked_collection_is_locked_and_more.py +79 -0
  19. lamindb/migrations/0126_alter_artifact_is_locked_alter_collection_is_locked_and_more.py +105 -0
  20. lamindb/migrations/0127_alter_run_status_code_feature_dtype.py +31 -0
  21. lamindb/migrations/0128_artifact__real_key.py +21 -0
  22. lamindb/migrations/0129_remove_feature_page_remove_project_page_and_more.py +779 -0
  23. lamindb/migrations/0130_branch_space_alter_artifactblock_artifact_and_more.py +170 -0
  24. lamindb/migrations/0131_record_unique_name_type_space.py +18 -0
  25. lamindb/migrations/0132_record_parents_record_reference_and_more.py +61 -0
  26. lamindb/migrations/0133_artifactuser_artifact_users.py +108 -0
  27. lamindb/migrations/{0119_squashed.py → 0133_squashed.py} +1211 -322
  28. lamindb/models/__init__.py +14 -4
  29. lamindb/models/_django.py +1 -2
  30. lamindb/models/_feature_manager.py +1 -0
  31. lamindb/models/_is_versioned.py +14 -16
  32. lamindb/models/_relations.py +7 -0
  33. lamindb/models/artifact.py +99 -56
  34. lamindb/models/artifact_set.py +20 -3
  35. lamindb/models/block.py +174 -0
  36. lamindb/models/can_curate.py +7 -9
  37. lamindb/models/collection.py +9 -9
  38. lamindb/models/feature.py +38 -38
  39. lamindb/models/has_parents.py +15 -6
  40. lamindb/models/project.py +44 -99
  41. lamindb/models/query_manager.py +1 -1
  42. lamindb/models/query_set.py +36 -8
  43. lamindb/models/record.py +169 -46
  44. lamindb/models/run.py +44 -10
  45. lamindb/models/save.py +7 -7
  46. lamindb/models/schema.py +9 -2
  47. lamindb/models/sqlrecord.py +87 -35
  48. lamindb/models/storage.py +13 -3
  49. lamindb/models/transform.py +7 -2
  50. lamindb/models/ulabel.py +6 -23
  51. {lamindb-1.11.3.dist-info → lamindb-1.12.1.dist-info}/METADATA +18 -21
  52. {lamindb-1.11.3.dist-info → lamindb-1.12.1.dist-info}/RECORD +54 -38
  53. {lamindb-1.11.3.dist-info → lamindb-1.12.1.dist-info}/LICENSE +0 -0
  54. {lamindb-1.11.3.dist-info → lamindb-1.12.1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,779 @@
1
+ # Generated by Django 5.1.12 on 2025-10-01 16:44
2
+
3
+ import django.db.models.deletion
4
+ import django.db.models.functions.datetime
5
+ from django.db import migrations, models
6
+
7
+ import lamindb.base.fields
8
+
9
+
10
+ class Migration(migrations.Migration):
11
+ dependencies = [
12
+ ("lamindb", "0128_artifact__real_key"),
13
+ ]
14
+
15
+ operations = [
16
+ migrations.CreateModel(
17
+ name="ArtifactBlock",
18
+ fields=[
19
+ (
20
+ "version",
21
+ lamindb.base.fields.CharField(
22
+ blank=True,
23
+ db_index=True,
24
+ default=None,
25
+ max_length=30,
26
+ null=True,
27
+ ),
28
+ ),
29
+ (
30
+ "is_latest",
31
+ lamindb.base.fields.BooleanField(
32
+ blank=True, db_index=True, default=True
33
+ ),
34
+ ),
35
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
36
+ (
37
+ "uid",
38
+ models.CharField(
39
+ db_index=True, editable=False, max_length=20, unique=True
40
+ ),
41
+ ),
42
+ ("content", models.TextField()),
43
+ ("hash", models.CharField(db_index=True, max_length=22, null=True)),
44
+ (
45
+ "type",
46
+ models.CharField(
47
+ db_default="mdpage",
48
+ db_index=True,
49
+ default="mdpage",
50
+ max_length=22,
51
+ ),
52
+ ),
53
+ (
54
+ "vertical_pos",
55
+ models.SmallIntegerField(db_default=0, db_index=True, default=0),
56
+ ),
57
+ (
58
+ "created_at",
59
+ models.DateTimeField(
60
+ db_default=django.db.models.functions.datetime.Now(),
61
+ db_index=True,
62
+ editable=False,
63
+ ),
64
+ ),
65
+ (
66
+ "artifact",
67
+ models.ForeignKey(
68
+ null=True,
69
+ on_delete=django.db.models.deletion.CASCADE,
70
+ related_name="blocks",
71
+ to="lamindb.artifact",
72
+ ),
73
+ ),
74
+ (
75
+ "created_by",
76
+ models.ForeignKey(
77
+ default=None,
78
+ null=True,
79
+ on_delete=django.db.models.deletion.CASCADE,
80
+ related_name="+",
81
+ to="lamindb.user",
82
+ ),
83
+ ),
84
+ ],
85
+ ),
86
+ migrations.CreateModel(
87
+ name="BranchBlock",
88
+ fields=[
89
+ (
90
+ "version",
91
+ lamindb.base.fields.CharField(
92
+ blank=True,
93
+ db_index=True,
94
+ default=None,
95
+ max_length=30,
96
+ null=True,
97
+ ),
98
+ ),
99
+ (
100
+ "is_latest",
101
+ lamindb.base.fields.BooleanField(
102
+ blank=True, db_index=True, default=True
103
+ ),
104
+ ),
105
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
106
+ (
107
+ "uid",
108
+ models.CharField(
109
+ db_index=True, editable=False, max_length=20, unique=True
110
+ ),
111
+ ),
112
+ ("content", models.TextField()),
113
+ ("hash", models.CharField(db_index=True, max_length=22, null=True)),
114
+ (
115
+ "type",
116
+ models.CharField(
117
+ db_default="mdpage",
118
+ db_index=True,
119
+ default="mdpage",
120
+ max_length=22,
121
+ ),
122
+ ),
123
+ (
124
+ "vertical_pos",
125
+ models.SmallIntegerField(db_default=0, db_index=True, default=0),
126
+ ),
127
+ (
128
+ "created_at",
129
+ models.DateTimeField(
130
+ db_default=django.db.models.functions.datetime.Now(),
131
+ db_index=True,
132
+ editable=False,
133
+ ),
134
+ ),
135
+ (
136
+ "branch",
137
+ models.ForeignKey(
138
+ null=True,
139
+ on_delete=django.db.models.deletion.CASCADE,
140
+ related_name="blocks",
141
+ to="lamindb.branch",
142
+ ),
143
+ ),
144
+ (
145
+ "created_by",
146
+ models.ForeignKey(
147
+ default=None,
148
+ null=True,
149
+ on_delete=django.db.models.deletion.CASCADE,
150
+ related_name="+",
151
+ to="lamindb.user",
152
+ ),
153
+ ),
154
+ ],
155
+ ),
156
+ migrations.CreateModel(
157
+ name="CollectionBlock",
158
+ fields=[
159
+ (
160
+ "version",
161
+ lamindb.base.fields.CharField(
162
+ blank=True,
163
+ db_index=True,
164
+ default=None,
165
+ max_length=30,
166
+ null=True,
167
+ ),
168
+ ),
169
+ (
170
+ "is_latest",
171
+ lamindb.base.fields.BooleanField(
172
+ blank=True, db_index=True, default=True
173
+ ),
174
+ ),
175
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
176
+ (
177
+ "uid",
178
+ models.CharField(
179
+ db_index=True, editable=False, max_length=20, unique=True
180
+ ),
181
+ ),
182
+ ("content", models.TextField()),
183
+ ("hash", models.CharField(db_index=True, max_length=22, null=True)),
184
+ (
185
+ "type",
186
+ models.CharField(
187
+ db_default="mdpage",
188
+ db_index=True,
189
+ default="mdpage",
190
+ max_length=22,
191
+ ),
192
+ ),
193
+ (
194
+ "vertical_pos",
195
+ models.SmallIntegerField(db_default=0, db_index=True, default=0),
196
+ ),
197
+ (
198
+ "created_at",
199
+ models.DateTimeField(
200
+ db_default=django.db.models.functions.datetime.Now(),
201
+ db_index=True,
202
+ editable=False,
203
+ ),
204
+ ),
205
+ (
206
+ "collection",
207
+ models.ForeignKey(
208
+ null=True,
209
+ on_delete=django.db.models.deletion.CASCADE,
210
+ related_name="blocks",
211
+ to="lamindb.collection",
212
+ ),
213
+ ),
214
+ (
215
+ "created_by",
216
+ models.ForeignKey(
217
+ default=None,
218
+ null=True,
219
+ on_delete=django.db.models.deletion.CASCADE,
220
+ related_name="+",
221
+ to="lamindb.user",
222
+ ),
223
+ ),
224
+ ],
225
+ ),
226
+ migrations.CreateModel(
227
+ name="FeatureBlock",
228
+ fields=[
229
+ (
230
+ "version",
231
+ lamindb.base.fields.CharField(
232
+ blank=True,
233
+ db_index=True,
234
+ default=None,
235
+ max_length=30,
236
+ null=True,
237
+ ),
238
+ ),
239
+ (
240
+ "is_latest",
241
+ lamindb.base.fields.BooleanField(
242
+ blank=True, db_index=True, default=True
243
+ ),
244
+ ),
245
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
246
+ (
247
+ "uid",
248
+ models.CharField(
249
+ db_index=True, editable=False, max_length=20, unique=True
250
+ ),
251
+ ),
252
+ ("content", models.TextField()),
253
+ ("hash", models.CharField(db_index=True, max_length=22, null=True)),
254
+ (
255
+ "type",
256
+ models.CharField(
257
+ db_default="mdpage",
258
+ db_index=True,
259
+ default="mdpage",
260
+ max_length=22,
261
+ ),
262
+ ),
263
+ (
264
+ "vertical_pos",
265
+ models.SmallIntegerField(db_default=0, db_index=True, default=0),
266
+ ),
267
+ (
268
+ "created_at",
269
+ models.DateTimeField(
270
+ db_default=django.db.models.functions.datetime.Now(),
271
+ db_index=True,
272
+ editable=False,
273
+ ),
274
+ ),
275
+ (
276
+ "created_by",
277
+ models.ForeignKey(
278
+ default=None,
279
+ null=True,
280
+ on_delete=django.db.models.deletion.CASCADE,
281
+ related_name="+",
282
+ to="lamindb.user",
283
+ ),
284
+ ),
285
+ (
286
+ "feature",
287
+ models.ForeignKey(
288
+ null=True,
289
+ on_delete=django.db.models.deletion.CASCADE,
290
+ related_name="blocks",
291
+ to="lamindb.feature",
292
+ ),
293
+ ),
294
+ ],
295
+ ),
296
+ migrations.CreateModel(
297
+ name="ProjectBlock",
298
+ fields=[
299
+ (
300
+ "version",
301
+ lamindb.base.fields.CharField(
302
+ blank=True,
303
+ db_index=True,
304
+ default=None,
305
+ max_length=30,
306
+ null=True,
307
+ ),
308
+ ),
309
+ (
310
+ "is_latest",
311
+ lamindb.base.fields.BooleanField(
312
+ blank=True, db_index=True, default=True
313
+ ),
314
+ ),
315
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
316
+ (
317
+ "uid",
318
+ models.CharField(
319
+ db_index=True, editable=False, max_length=20, unique=True
320
+ ),
321
+ ),
322
+ ("content", models.TextField()),
323
+ ("hash", models.CharField(db_index=True, max_length=22, null=True)),
324
+ (
325
+ "type",
326
+ models.CharField(
327
+ db_default="mdpage",
328
+ db_index=True,
329
+ default="mdpage",
330
+ max_length=22,
331
+ ),
332
+ ),
333
+ (
334
+ "vertical_pos",
335
+ models.SmallIntegerField(db_default=0, db_index=True, default=0),
336
+ ),
337
+ (
338
+ "created_at",
339
+ models.DateTimeField(
340
+ db_default=django.db.models.functions.datetime.Now(),
341
+ db_index=True,
342
+ editable=False,
343
+ ),
344
+ ),
345
+ (
346
+ "created_by",
347
+ models.ForeignKey(
348
+ default=None,
349
+ null=True,
350
+ on_delete=django.db.models.deletion.CASCADE,
351
+ related_name="+",
352
+ to="lamindb.user",
353
+ ),
354
+ ),
355
+ (
356
+ "project",
357
+ models.ForeignKey(
358
+ null=True,
359
+ on_delete=django.db.models.deletion.CASCADE,
360
+ related_name="blocks",
361
+ to="lamindb.project",
362
+ ),
363
+ ),
364
+ ],
365
+ ),
366
+ migrations.CreateModel(
367
+ name="RecordBlock",
368
+ fields=[
369
+ (
370
+ "version",
371
+ lamindb.base.fields.CharField(
372
+ blank=True,
373
+ db_index=True,
374
+ default=None,
375
+ max_length=30,
376
+ null=True,
377
+ ),
378
+ ),
379
+ (
380
+ "is_latest",
381
+ lamindb.base.fields.BooleanField(
382
+ blank=True, db_index=True, default=True
383
+ ),
384
+ ),
385
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
386
+ (
387
+ "uid",
388
+ models.CharField(
389
+ db_index=True, editable=False, max_length=20, unique=True
390
+ ),
391
+ ),
392
+ ("content", models.TextField()),
393
+ ("hash", models.CharField(db_index=True, max_length=22, null=True)),
394
+ (
395
+ "type",
396
+ models.CharField(
397
+ db_default="mdpage",
398
+ db_index=True,
399
+ default="mdpage",
400
+ max_length=22,
401
+ ),
402
+ ),
403
+ (
404
+ "vertical_pos",
405
+ models.SmallIntegerField(db_default=0, db_index=True, default=0),
406
+ ),
407
+ (
408
+ "created_at",
409
+ models.DateTimeField(
410
+ db_default=django.db.models.functions.datetime.Now(),
411
+ db_index=True,
412
+ editable=False,
413
+ ),
414
+ ),
415
+ (
416
+ "created_by",
417
+ models.ForeignKey(
418
+ default=None,
419
+ null=True,
420
+ on_delete=django.db.models.deletion.CASCADE,
421
+ related_name="+",
422
+ to="lamindb.user",
423
+ ),
424
+ ),
425
+ (
426
+ "record",
427
+ models.ForeignKey(
428
+ null=True,
429
+ on_delete=django.db.models.deletion.CASCADE,
430
+ related_name="blocks",
431
+ to="lamindb.record",
432
+ ),
433
+ ),
434
+ ],
435
+ ),
436
+ migrations.CreateModel(
437
+ name="RootBlock",
438
+ fields=[
439
+ (
440
+ "version",
441
+ lamindb.base.fields.CharField(
442
+ blank=True,
443
+ db_index=True,
444
+ default=None,
445
+ max_length=30,
446
+ null=True,
447
+ ),
448
+ ),
449
+ (
450
+ "is_latest",
451
+ lamindb.base.fields.BooleanField(
452
+ blank=True, db_index=True, default=True
453
+ ),
454
+ ),
455
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
456
+ (
457
+ "uid",
458
+ models.CharField(
459
+ db_index=True, editable=False, max_length=20, unique=True
460
+ ),
461
+ ),
462
+ ("content", models.TextField()),
463
+ ("hash", models.CharField(db_index=True, max_length=22, null=True)),
464
+ (
465
+ "type",
466
+ models.CharField(
467
+ db_default="mdpage",
468
+ db_index=True,
469
+ default="mdpage",
470
+ max_length=22,
471
+ ),
472
+ ),
473
+ (
474
+ "vertical_pos",
475
+ models.SmallIntegerField(db_default=0, db_index=True, default=0),
476
+ ),
477
+ (
478
+ "created_at",
479
+ models.DateTimeField(
480
+ db_default=django.db.models.functions.datetime.Now(),
481
+ db_index=True,
482
+ editable=False,
483
+ ),
484
+ ),
485
+ ("name", models.CharField(db_index=True, max_length=255)),
486
+ (
487
+ "created_by",
488
+ models.ForeignKey(
489
+ default=None,
490
+ null=True,
491
+ on_delete=django.db.models.deletion.CASCADE,
492
+ related_name="+",
493
+ to="lamindb.user",
494
+ ),
495
+ ),
496
+ ],
497
+ ),
498
+ migrations.CreateModel(
499
+ name="RunBlock",
500
+ fields=[
501
+ (
502
+ "version",
503
+ lamindb.base.fields.CharField(
504
+ blank=True,
505
+ db_index=True,
506
+ default=None,
507
+ max_length=30,
508
+ null=True,
509
+ ),
510
+ ),
511
+ (
512
+ "is_latest",
513
+ lamindb.base.fields.BooleanField(
514
+ blank=True, db_index=True, default=True
515
+ ),
516
+ ),
517
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
518
+ (
519
+ "uid",
520
+ models.CharField(
521
+ db_index=True, editable=False, max_length=20, unique=True
522
+ ),
523
+ ),
524
+ ("content", models.TextField()),
525
+ ("hash", models.CharField(db_index=True, max_length=22, null=True)),
526
+ (
527
+ "type",
528
+ models.CharField(
529
+ db_default="mdpage",
530
+ db_index=True,
531
+ default="mdpage",
532
+ max_length=22,
533
+ ),
534
+ ),
535
+ (
536
+ "vertical_pos",
537
+ models.SmallIntegerField(db_default=0, db_index=True, default=0),
538
+ ),
539
+ (
540
+ "created_at",
541
+ models.DateTimeField(
542
+ db_default=django.db.models.functions.datetime.Now(),
543
+ db_index=True,
544
+ editable=False,
545
+ ),
546
+ ),
547
+ (
548
+ "created_by",
549
+ models.ForeignKey(
550
+ default=None,
551
+ null=True,
552
+ on_delete=django.db.models.deletion.CASCADE,
553
+ related_name="+",
554
+ to="lamindb.user",
555
+ ),
556
+ ),
557
+ (
558
+ "run",
559
+ models.ForeignKey(
560
+ null=True,
561
+ on_delete=django.db.models.deletion.CASCADE,
562
+ related_name="blocks",
563
+ to="lamindb.run",
564
+ ),
565
+ ),
566
+ ],
567
+ ),
568
+ migrations.CreateModel(
569
+ name="SchemaBlock",
570
+ fields=[
571
+ (
572
+ "version",
573
+ lamindb.base.fields.CharField(
574
+ blank=True,
575
+ db_index=True,
576
+ default=None,
577
+ max_length=30,
578
+ null=True,
579
+ ),
580
+ ),
581
+ (
582
+ "is_latest",
583
+ lamindb.base.fields.BooleanField(
584
+ blank=True, db_index=True, default=True
585
+ ),
586
+ ),
587
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
588
+ (
589
+ "uid",
590
+ models.CharField(
591
+ db_index=True, editable=False, max_length=20, unique=True
592
+ ),
593
+ ),
594
+ ("content", models.TextField()),
595
+ ("hash", models.CharField(db_index=True, max_length=22, null=True)),
596
+ (
597
+ "type",
598
+ models.CharField(
599
+ db_default="mdpage",
600
+ db_index=True,
601
+ default="mdpage",
602
+ max_length=22,
603
+ ),
604
+ ),
605
+ (
606
+ "vertical_pos",
607
+ models.SmallIntegerField(db_default=0, db_index=True, default=0),
608
+ ),
609
+ (
610
+ "created_at",
611
+ models.DateTimeField(
612
+ db_default=django.db.models.functions.datetime.Now(),
613
+ db_index=True,
614
+ editable=False,
615
+ ),
616
+ ),
617
+ (
618
+ "created_by",
619
+ models.ForeignKey(
620
+ default=None,
621
+ null=True,
622
+ on_delete=django.db.models.deletion.CASCADE,
623
+ related_name="+",
624
+ to="lamindb.user",
625
+ ),
626
+ ),
627
+ (
628
+ "schema",
629
+ models.ForeignKey(
630
+ null=True,
631
+ on_delete=django.db.models.deletion.CASCADE,
632
+ related_name="blocks",
633
+ to="lamindb.schema",
634
+ ),
635
+ ),
636
+ ],
637
+ ),
638
+ migrations.CreateModel(
639
+ name="SpaceBlock",
640
+ fields=[
641
+ (
642
+ "version",
643
+ lamindb.base.fields.CharField(
644
+ blank=True,
645
+ db_index=True,
646
+ default=None,
647
+ max_length=30,
648
+ null=True,
649
+ ),
650
+ ),
651
+ (
652
+ "is_latest",
653
+ lamindb.base.fields.BooleanField(
654
+ blank=True, db_index=True, default=True
655
+ ),
656
+ ),
657
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
658
+ (
659
+ "uid",
660
+ models.CharField(
661
+ db_index=True, editable=False, max_length=20, unique=True
662
+ ),
663
+ ),
664
+ ("content", models.TextField()),
665
+ ("hash", models.CharField(db_index=True, max_length=22, null=True)),
666
+ (
667
+ "type",
668
+ models.CharField(
669
+ db_default="mdpage",
670
+ db_index=True,
671
+ default="mdpage",
672
+ max_length=22,
673
+ ),
674
+ ),
675
+ (
676
+ "vertical_pos",
677
+ models.SmallIntegerField(db_default=0, db_index=True, default=0),
678
+ ),
679
+ (
680
+ "created_at",
681
+ models.DateTimeField(
682
+ db_default=django.db.models.functions.datetime.Now(),
683
+ db_index=True,
684
+ editable=False,
685
+ ),
686
+ ),
687
+ (
688
+ "created_by",
689
+ models.ForeignKey(
690
+ default=None,
691
+ null=True,
692
+ on_delete=django.db.models.deletion.CASCADE,
693
+ related_name="+",
694
+ to="lamindb.user",
695
+ ),
696
+ ),
697
+ (
698
+ "space",
699
+ models.ForeignKey(
700
+ null=True,
701
+ on_delete=django.db.models.deletion.CASCADE,
702
+ related_name="blocks",
703
+ to="lamindb.space",
704
+ ),
705
+ ),
706
+ ],
707
+ ),
708
+ migrations.CreateModel(
709
+ name="TransformBlock",
710
+ fields=[
711
+ (
712
+ "version",
713
+ lamindb.base.fields.CharField(
714
+ blank=True,
715
+ db_index=True,
716
+ default=None,
717
+ max_length=30,
718
+ null=True,
719
+ ),
720
+ ),
721
+ (
722
+ "is_latest",
723
+ lamindb.base.fields.BooleanField(
724
+ blank=True, db_index=True, default=True
725
+ ),
726
+ ),
727
+ ("id", models.BigAutoField(primary_key=True, serialize=False)),
728
+ (
729
+ "uid",
730
+ models.CharField(
731
+ db_index=True, editable=False, max_length=20, unique=True
732
+ ),
733
+ ),
734
+ ("content", models.TextField()),
735
+ ("hash", models.CharField(db_index=True, max_length=22, null=True)),
736
+ (
737
+ "type",
738
+ models.CharField(
739
+ db_default="mdpage",
740
+ db_index=True,
741
+ default="mdpage",
742
+ max_length=22,
743
+ ),
744
+ ),
745
+ (
746
+ "vertical_pos",
747
+ models.SmallIntegerField(db_default=0, db_index=True, default=0),
748
+ ),
749
+ (
750
+ "created_at",
751
+ models.DateTimeField(
752
+ db_default=django.db.models.functions.datetime.Now(),
753
+ db_index=True,
754
+ editable=False,
755
+ ),
756
+ ),
757
+ ("line_number", models.IntegerField(null=True)),
758
+ (
759
+ "created_by",
760
+ models.ForeignKey(
761
+ default=None,
762
+ null=True,
763
+ on_delete=django.db.models.deletion.CASCADE,
764
+ related_name="+",
765
+ to="lamindb.user",
766
+ ),
767
+ ),
768
+ (
769
+ "transform",
770
+ models.ForeignKey(
771
+ null=True,
772
+ on_delete=django.db.models.deletion.CASCADE,
773
+ related_name="blocks",
774
+ to="lamindb.transform",
775
+ ),
776
+ ),
777
+ ],
778
+ ),
779
+ ]