liminal-orm 3.0.0__py3-none-any.whl → 3.0.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.
@@ -58,8 +58,12 @@ class NameTemplatePartModel(BaseModel):
58
58
  field = next((f for f in fields if f.systemName == wh_field_name), None)
59
59
  if field is None:
60
60
  raise ValueError(f"Field {wh_field_name} not found in fields")
61
- field_id = field.id
62
- if part.component_type == NameTemplatePartType.CHILD_ENTITY_LOT_NUMBER:
61
+ field_id = field.apiId
62
+ if (
63
+ part.component_type == NameTemplatePartType.CHILD_ENTITY_LOT_NUMBER
64
+ or part.component_type
65
+ == NameTemplatePartType.LINKED_BIOENTITY_REGISTRY_IDENTIFIER
66
+ ):
63
67
  if not field.isParentLink:
64
68
  raise ValueError(
65
69
  f"Field {wh_field_name} is not a parent link field. The field for type {part.component_type} must be a parent link field."
@@ -8,5 +8,7 @@ class NameTemplatePartType(StrEnum):
8
8
  CREATION_DATE = "CREATED_AT_DATE"
9
9
  FIELD = "FIELD"
10
10
  REGISTRY_IDENTIFIER_NUMBER = "REGISTRY_IDENTIFIER_NUMBER"
11
+ LINKED_BIOENTITY_REGISTRY_IDENTIFIER = "LINKED_BIOENTITY_REGISTRY_IDENTIFIER"
11
12
  PROJECT = "PROJECT"
12
13
  CHILD_ENTITY_LOT_NUMBER = "CHILD_ENTITY_LOT_NUMBER"
14
+ COMPLEX_POLYMER_COMPONENT = "COMPLEX_POLYMER_COMPONENT"
@@ -34,9 +34,12 @@ from liminal.enums import (
34
34
  BenchlingSequenceType,
35
35
  )
36
36
  from liminal.orm.name_template_parts import (
37
+ ComplexPolymerComponentPart,
37
38
  CreationDatePart,
38
39
  CreationYearPart,
39
40
  FieldPart,
41
+ ParentLotNumberPart,
42
+ ParentRegistryIdPart,
40
43
  ProjectPart,
41
44
  RegistryIdentifierNumberPart,
42
45
  SeparatorPart,
@@ -74,6 +74,13 @@ class ParentLotNumberPart(NameTemplatePart):
74
74
  wh_field_name: str
75
75
 
76
76
 
77
+ class ParentRegistryIdPart(NameTemplatePart):
78
+ component_type: ClassVar[NameTemplatePartType] = (
79
+ NameTemplatePartType.LINKED_BIOENTITY_REGISTRY_IDENTIFIER
80
+ )
81
+ wh_field_name: str
82
+
83
+
77
84
  class RegistryIdentifierNumberPart(NameTemplatePart):
78
85
  component_type: ClassVar[NameTemplatePartType] = (
79
86
  NameTemplatePartType.REGISTRY_IDENTIFIER_NUMBER
@@ -84,6 +91,12 @@ class ProjectPart(NameTemplatePart):
84
91
  component_type: ClassVar[NameTemplatePartType] = NameTemplatePartType.PROJECT
85
92
 
86
93
 
94
+ class ComplexPolymerComponentPart(NameTemplatePart):
95
+ component_type: ClassVar[NameTemplatePartType] = (
96
+ NameTemplatePartType.COMPLEX_POLYMER_COMPONENT
97
+ )
98
+
99
+
87
100
  NameTemplateParts = (
88
101
  SeparatorPart
89
102
  | TextPart
@@ -93,4 +106,6 @@ NameTemplateParts = (
93
106
  | RegistryIdentifierNumberPart
94
107
  | ProjectPart
95
108
  | ParentLotNumberPart
109
+ | ParentRegistryIdPart
110
+ | ComplexPolymerComponentPart
96
111
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: liminal-orm
3
- Version: 3.0.0
3
+ Version: 3.0.1
4
4
  Summary: An ORM and toolkit that builds on top of Benchling's platform to keep your schemas and downstream code dependencies in sync.
5
5
  Home-page: https://github.com/dynotx/liminal-orm
6
6
  Author: DynoTx Open Source
@@ -26,7 +26,7 @@ liminal/entity_schemas/compare.py,sha256=t6tl67GWaMoNNcPxyLpCuNAlN3OWNqURTo3EUEM
26
26
  liminal/entity_schemas/entity_schema_models.py,sha256=v5A1ELaiuBnUSl1HkUNAeMuIRQeQnIKzfpFxmsiKWh0,8349
27
27
  liminal/entity_schemas/generate_files.py,sha256=u9SoDO9f4qL2nZaddln__2J0zJ3QMFBQhiUabn22aUY,9032
28
28
  liminal/entity_schemas/operations.py,sha256=jd6Wiq_rW0UIjiVqUACio_Lwbv3fGrtoyQRGBHtXJHo,26654
29
- liminal/entity_schemas/tag_schema_models.py,sha256=FlpoDWh083nA8iT7Pl84HVXKb7StIApV1ExvwHKiAfc,24002
29
+ liminal/entity_schemas/tag_schema_models.py,sha256=DZQYzlxt3aEHbLy00qEyDZC_mRyi9I325ggkfcNgR1I,24153
30
30
  liminal/entity_schemas/utils.py,sha256=2ZHyLxnYITVEuyAWxNdsq5hcNSgvN7pN3-uUzyocYSk,6161
31
31
  liminal/enums/__init__.py,sha256=-szuqAwMED4ai0NaPVUfgihQJAJ27wPu_nDnj4cEgTk,518
32
32
  liminal/enums/benchling_api_field_type.py,sha256=0QamSWEMnxZtedZXlh6zNhSRogS9ZqvWskdHHN19xJo,633
@@ -35,9 +35,9 @@ liminal/enums/benchling_field_type.py,sha256=kKbLR6_gTP3qI-bNOWDO3csfOXI50Y6p6bu
35
35
  liminal/enums/benchling_folder_item_type.py,sha256=Jb-YxCvB8O86_qTsfwtLQOkKGjTWGKHFwIKf24eemYk,248
36
36
  liminal/enums/benchling_naming_strategy.py,sha256=jmaR-Vfj3MWhna8tANBNjAgYUyoQ5wMbz1AIy2bv6Zk,1258
37
37
  liminal/enums/benchling_sequence_type.py,sha256=TBI4C5c1XKE4ZXqsz1ApDUzy2wR-04u-M3VO_zLikjM,202
38
- liminal/enums/name_template_part_type.py,sha256=Kv0phZIO_dPN3tLHM0lT2tjUd3zBGqpJQGahEpGjNcU,365
38
+ liminal/enums/name_template_part_type.py,sha256=Z3Zv5PpzoUrIj_EvwPVgDDkY2G0kO-wE3-ZvEvnv86M,507
39
39
  liminal/enums/sequence_constraint.py,sha256=CT3msm8qzJpcivfbQZ3NOWNRsedH4mSlfhzvQBLrHWA,407
40
- liminal/external/__init__.py,sha256=nMpyzpBXpYhTvN3R3HQEiYb24_U2AYjz_20seAUUK9s,1264
40
+ liminal/external/__init__.py,sha256=EundQBe68_ZIhcsuSOhc-CznzYauNDYlNG1CjRDui_Y,1348
41
41
  liminal/mappers.py,sha256=TgPMQsLrESAI6D7KBl0UoBBpnxYgcgGOT7a2faWsuhY,9587
42
42
  liminal/migrate/components.py,sha256=2HuFp5KDNhofROMRI-BioUoA4CCjhQ_v_F0QmGJzUBU,3480
43
43
  liminal/migrate/revision.py,sha256=KppU0u-d0JsfPsXsmncxy9Q_XBJyf-o4e16wNZAJODM,7774
@@ -51,7 +51,7 @@ liminal/orm/base_tables/user.py,sha256=elRAHj7HgO3iVLK_pNCIwf_9Rl_9k6vkBgaYazoJS
51
51
  liminal/orm/column.py,sha256=aK-MrKabOK5tf3UFPpRACq83YVVrjXITZF_rcOU-wPQ,6207
52
52
  liminal/orm/mixins.py,sha256=yEeUDF1qEBLP523q8bZra4KtNVK0gwZN9mXJSNe3GEE,4802
53
53
  liminal/orm/name_template.py,sha256=ftXZOiRR6gGGvGaZkFVDXKOboIHFWauhQENRguBGWMI,1739
54
- liminal/orm/name_template_parts.py,sha256=KCGXAcCuOqCjlgYn-mw1K7fwDI92D20l-FnlpEVrbM8,2771
54
+ liminal/orm/name_template_parts.py,sha256=iI4S9ZGvckQbYjhgFdn6xeJ3rS90lzCvjH0863HnAi8,3201
55
55
  liminal/orm/relationship.py,sha256=Zl4bMHbtDSPx1psGHYnojGGJpA8B8hwcPJdgjB1lmW0,2490
56
56
  liminal/orm/schema_properties.py,sha256=vqqjnxbh7AYh9ZvSmhCsl69BqSBPpQutNKImb-TBCGg,4167
57
57
  liminal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -65,8 +65,8 @@ liminal/unit_dictionary/utils.py,sha256=o3K06Yyt33iIUSMHPT8f1vSuUSgWjZLf51p78lx4
65
65
  liminal/utils.py,sha256=radRtRsZmCiNblMvxOX1DH0rcO5TR09kFlp6OONIPBU,2951
66
66
  liminal/validation/__init__.py,sha256=TVaHrSF3GnSd4mbZrPn8TBHscGWkAPKAUUPq7-symC8,5275
67
67
  liminal/validation/validation_severity.py,sha256=ib03PTZCQHcbBDc01v4gJF53YtA-ANY6QSFnhTV-FbU,259
68
- liminal_orm-3.0.0.dist-info/LICENSE.md,sha256=oVA877F_D1AV44dpjsv4f-4k690uNGApX1EtzOo3T8U,11353
69
- liminal_orm-3.0.0.dist-info/METADATA,sha256=36MOv4Hh9h8gTmKFAtfn-XpJerX15rLphdD8WWDPsxQ,11032
70
- liminal_orm-3.0.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
71
- liminal_orm-3.0.0.dist-info/entry_points.txt,sha256=atIrU63rrzH81dWC2sjUbFLlc5FWMmYRdMxXEWexIZA,47
72
- liminal_orm-3.0.0.dist-info/RECORD,,
68
+ liminal_orm-3.0.1.dist-info/LICENSE.md,sha256=oVA877F_D1AV44dpjsv4f-4k690uNGApX1EtzOo3T8U,11353
69
+ liminal_orm-3.0.1.dist-info/METADATA,sha256=gA_yNA-bEIUIe1nAJ6kZvF8fn-NT_Ov2sFbF-zngGsY,11032
70
+ liminal_orm-3.0.1.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
71
+ liminal_orm-3.0.1.dist-info/entry_points.txt,sha256=atIrU63rrzH81dWC2sjUbFLlc5FWMmYRdMxXEWexIZA,47
72
+ liminal_orm-3.0.1.dist-info/RECORD,,