plexus-python-common 1.0.69__py3-none-any.whl → 1.0.70__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.
@@ -394,15 +394,20 @@ def make_tag_target_model_mixin() -> type[pdt.BaseModel]:
394
394
  )
395
395
  vehicle_name: str = Field(
396
396
  sa_column=sa.Column(sa_sqlite.VARCHAR(128), nullable=False),
397
- description="Vehicle name associated with the tag record",
397
+ description="Name of the tagger's applicability vehicle",
398
398
  )
399
399
  begin_dt: datetime.datetime = Field(
400
400
  sa_column=sa.Column(SQLiteDateTime, nullable=False),
401
- description="Begin datetime of the target range associated with the tag record",
401
+ description="Beginning of the tagger's applicability time range",
402
402
  )
403
403
  end_dt: datetime.datetime = Field(
404
404
  sa_column=sa.Column(SQLiteDateTime, nullable=False),
405
- description="End datetime of the target range associated with the tag record",
405
+ description="End of the tagger's applicability time range",
406
+ )
407
+ props: JsonType | None = Field(
408
+ sa_column=sa.Column(sa_sqlite.JSON, nullable=True),
409
+ default=None,
410
+ description="Additional properties of the tag target in JSON format",
406
411
  )
407
412
 
408
413
  @pdt.field_validator("identifier", mode="after")
@@ -414,7 +419,7 @@ def make_tag_target_model_mixin() -> type[pdt.BaseModel]:
414
419
  @pdt.field_validator("tagger_name", mode="after")
415
420
  @classmethod
416
421
  def validate_tagger_name(cls, v: str) -> str:
417
- validate_snake_case(v)
422
+ validate_slash_tag(v)
418
423
  return v
419
424
 
420
425
  @pdt.field_validator("tagger_version", mode="after")
@@ -466,21 +471,21 @@ def make_tag_record_model_mixin() -> type[pdt.BaseModel]:
466
471
  )
467
472
  begin_dt: datetime.datetime = Field(
468
473
  sa_column=sa.Column(SQLiteDateTime, nullable=False),
469
- description="Begin datetime of the tag record",
474
+ description="Begin of the tag record time range",
470
475
  )
471
476
  end_dt: datetime.datetime = Field(
472
477
  sa_column=sa.Column(SQLiteDateTime, nullable=False),
473
- description="End datetime of the tag record",
478
+ description="End of the tag record time range",
474
479
  )
475
480
  tagset_namespace: str | None = Field(
476
481
  sa_column=sa.Column(sa_sqlite.VARCHAR(64), nullable=True),
477
482
  default=None,
478
- description="Namespace of the tagset that the tag belongs to",
483
+ description="Namespace of the tagset that the tag in this record belongs to",
479
484
  )
480
485
  tagset_version: str | None = Field(
481
486
  sa_column=sa.Column(sa_sqlite.VARCHAR(32), nullable=True),
482
487
  default=None,
483
- description="Version of the tagset that the tag belongs to",
488
+ description="Version of the tagset that the tag in this record belongs to",
484
489
  )
485
490
  tag: str = Field(
486
491
  sa_column=sa.Column(sa_sqlite.VARCHAR(256), nullable=False),
@@ -573,6 +578,7 @@ if typing.TYPE_CHECKING:
573
578
  vehicle_name: sa_orm.Mapped[str] = ...
574
579
  begin_dt: sa_orm.Mapped[datetime.datetime] = ...
575
580
  end_dt: sa_orm.Mapped[datetime.datetime] = ...
581
+ props: sa_orm.Mapped[JsonType | None] = ...
576
582
 
577
583
 
578
584
  class TagTargetTable(TagTarget, SequenceModelMixinProtocol):
@@ -669,6 +675,7 @@ class TagCache(object):
669
675
  vehicle_name: str,
670
676
  begin_dt: datetime.datetime,
671
677
  end_dt: datetime.datetime,
678
+ props: JsonType | None = None,
672
679
  ) -> TagTargetTable:
673
680
  with self.make_session() as session:
674
681
  tag_target = TagTarget(
@@ -678,6 +685,7 @@ class TagCache(object):
678
685
  vehicle_name=vehicle_name,
679
686
  begin_dt=begin_dt,
680
687
  end_dt=end_dt,
688
+ props=props,
681
689
  )
682
690
  db_tag_target = clone_sequence_model_instance(TagTargetTable, tag_target)
683
691
  session.add(db_tag_target)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plexus-python-common
3
- Version: 1.0.69
3
+ Version: 1.0.70
4
4
  Classifier: Programming Language :: Python :: 3
5
5
  Classifier: Programming Language :: Python :: 3.12
6
6
  Classifier: Programming Language :: Python :: 3.13
@@ -21,9 +21,9 @@ plexus/common/utils/pathutils.py,sha256=hGJqSLj08tuOeZ7WeC5d4BtjnPI732BuntVQBQsq
21
21
  plexus/common/utils/s3utils.py,sha256=zlO4kGs-c2gUeOfPfiKIE5liQZsbYxqAZYCwA8kL0Lo,36017
22
22
  plexus/common/utils/sqlutils.py,sha256=D6kTBjhO5YlNRt3uFlPt6z3uH61m9ajEzPYmsI6NoFc,231
23
23
  plexus/common/utils/strutils.py,sha256=O9Inv4ffUTf6Xjc5ftoZwbIua1NeG7itCT9S3zjZxBc,16436
24
- plexus/common/utils/tagutils.py,sha256=OaJ_iXbYPRRqq1-GwkqnZ-6UUj4jhhd8Myfu92VKg8Y,55419
24
+ plexus/common/utils/tagutils.py,sha256=F1t62lxNCskirUQ9sIs5Q7hVWAF71f5Hs1aQ3Sj0X4w,55759
25
25
  plexus/common/utils/testutils.py,sha256=N8ijLu7X-hlQlHzvv0TtSsQpIF4T1hbr-AjkILoV2Ac,6152
26
- plexus_python_common-1.0.69.dist-info/METADATA,sha256=kiAxXNij0yyE_PgMAVoCDuXjD_FPGgxA1abUHMLaB44,1481
27
- plexus_python_common-1.0.69.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
28
- plexus_python_common-1.0.69.dist-info/top_level.txt,sha256=ug_g7CVwaMQuas5UzAXbHUrQvKGCn8ezc6ZNvvRlJOE,7
29
- plexus_python_common-1.0.69.dist-info/RECORD,,
26
+ plexus_python_common-1.0.70.dist-info/METADATA,sha256=ZZjSJxN2hxIf9b9wmR0HqftEGdvADSZuf3KNBX3ad1g,1481
27
+ plexus_python_common-1.0.70.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
28
+ plexus_python_common-1.0.70.dist-info/top_level.txt,sha256=ug_g7CVwaMQuas5UzAXbHUrQvKGCn8ezc6ZNvvRlJOE,7
29
+ plexus_python_common-1.0.70.dist-info/RECORD,,