From a24e5e5074e57b67c36595085b9c8575477c6e46 Mon Sep 17 00:00:00 2001 From: Abner Bogan Date: Tue, 4 Nov 2025 12:10:27 -0500 Subject: [PATCH 1/4] Update version --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 46585f1..c4cc26f 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ setup( name='hsmodels', - version='1.0.4', + version='1.0.5', packages=find_packages(include=['hsmodels', 'hsmodels.*', 'hsmodels.schemas.*', 'hsmodels.schemas.rdf.*'], exclude=("tests",)), install_requires=[ From ee5616679395c3b1b6bbb082172c094c4b600120 Mon Sep 17 00:00:00 2001 From: Abner Bogan Date: Tue, 4 Nov 2025 12:12:38 -0500 Subject: [PATCH 2/4] Make fields in Rights object optional --- hsmodels/schemas/fields.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hsmodels/schemas/fields.py b/hsmodels/schemas/fields.py index 29c2085..b832406 100644 --- a/hsmodels/schemas/fields.py +++ b/hsmodels/schemas/fields.py @@ -66,10 +66,10 @@ class Rights(BaseMetadata): model_config = ConfigDict(title='Rights Metadata') - statement: str = Field( + statement: Optional[str] = Field( title="Statement", description="A string containing the text of the license or rights statement", ) - url: AnyUrl = Field( + url: Optional[AnyUrl] = Field( title="URL", description="An object containing the URL pointing to a description of the license or rights statement", ) From bc7d46d190d0c747c997a14e95a3ce63e018351f Mon Sep 17 00:00:00 2001 From: Abner Bogan Date: Tue, 4 Nov 2025 13:03:36 -0500 Subject: [PATCH 3/4] Update changes to RightnRDF object --- hsmodels/schemas/rdf/fields.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hsmodels/schemas/rdf/fields.py b/hsmodels/schemas/rdf/fields.py index a7692ca..47bc846 100644 --- a/hsmodels/schemas/rdf/fields.py +++ b/hsmodels/schemas/rdf/fields.py @@ -126,8 +126,8 @@ class DateInRDF(RDFBaseModel): class RightsInRDF(RDFBaseModel): - statement: str = Field(json_schema_extra={"rdf_predicate": HSTERMS.rightsStatement}) - url: AnyUrl = Field(json_schema_extra={"rdf_predicate": HSTERMS.URL}) + statement: Optional[str] = Field(json_schema_extra={"rdf_predicate": HSTERMS.rightsStatement}) + url: Optional[AnyUrl] = Field(json_schema_extra={"rdf_predicate": HSTERMS.URL}) class CreatorInRDF(RDFBaseModel): From 0bf5190781bdce99994655ccf051c0f3beff0154 Mon Sep 17 00:00:00 2001 From: Abner Bogan Date: Tue, 4 Nov 2025 14:39:33 -0500 Subject: [PATCH 4/4] Make statement and url field default vals to None in Rights and RightsInRDF objects --- hsmodels/schemas/fields.py | 5 ++++- hsmodels/schemas/rdf/fields.py | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/hsmodels/schemas/fields.py b/hsmodels/schemas/fields.py index b832406..e4a97dc 100644 --- a/hsmodels/schemas/fields.py +++ b/hsmodels/schemas/fields.py @@ -67,9 +67,12 @@ class Rights(BaseMetadata): model_config = ConfigDict(title='Rights Metadata') statement: Optional[str] = Field( - title="Statement", description="A string containing the text of the license or rights statement", + default=None, + title="Statement", + description="A string containing the text of the license or rights statement", ) url: Optional[AnyUrl] = Field( + default=None, title="URL", description="An object containing the URL pointing to a description of the license or rights statement", ) diff --git a/hsmodels/schemas/rdf/fields.py b/hsmodels/schemas/rdf/fields.py index 47bc846..f5d8de9 100644 --- a/hsmodels/schemas/rdf/fields.py +++ b/hsmodels/schemas/rdf/fields.py @@ -126,8 +126,8 @@ class DateInRDF(RDFBaseModel): class RightsInRDF(RDFBaseModel): - statement: Optional[str] = Field(json_schema_extra={"rdf_predicate": HSTERMS.rightsStatement}) - url: Optional[AnyUrl] = Field(json_schema_extra={"rdf_predicate": HSTERMS.URL}) + statement: Optional[str] = Field(default=None,json_schema_extra={"rdf_predicate": HSTERMS.rightsStatement}) + url: Optional[AnyUrl] = Field(default=None,json_schema_extra={"rdf_predicate": HSTERMS.URL}) class CreatorInRDF(RDFBaseModel):