Skip to content

Commit f09aeda

Browse files
Merge pull request #149 from stac-utils/patch/allow-null-datetime
allow `null` datetime
2 parents b18cc74 + 960abec commit f09aeda

File tree

4 files changed

+13
-13
lines changed

4 files changed

+13
-13
lines changed

Diff for: stac_pydantic/item.py

+1-11
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,7 @@
44
from pydantic import AnyUrl, ConfigDict, Field, model_serializer, model_validator
55

66
from stac_pydantic.links import Links
7-
from stac_pydantic.shared import (
8-
SEMVER_REGEX,
9-
Asset,
10-
StacBaseModel,
11-
StacCommonMetadata,
12-
UtcDatetime,
13-
)
7+
from stac_pydantic.shared import SEMVER_REGEX, Asset, StacBaseModel, StacCommonMetadata
148
from stac_pydantic.version import STAC_VERSION
159

1610

@@ -19,10 +13,6 @@ class ItemProperties(StacCommonMetadata):
1913
https://github.com/radiantearth/stac-spec/blob/v1.0.0/item-spec/item-spec.md#properties-object
2014
"""
2115

22-
# Overide the datetime field to be required
23-
datetime: Optional[UtcDatetime]
24-
25-
# Check https://docs.pydantic.dev/dev-v2/migration/#changes-to-config for more information.
2616
model_config = ConfigDict(extra="allow")
2717

2818

Diff for: stac_pydantic/shared.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ class StacCommonMetadata(StacBaseModel):
134134
title: Optional[str] = None
135135
description: Optional[str] = None
136136
# Date and Time
137-
datetime: Optional[UtcDatetime] = None
137+
datetime: Optional[UtcDatetime] = Field(...)
138138
created: Optional[UtcDatetime] = None
139139
updated: Optional[UtcDatetime] = None
140140
# Date and Time Range

Diff for: tests/example_stac/datetimerange.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
]
3838
},
3939
"properties":{
40-
"datetime":"2018-01-01T13:21:30Z",
40+
"datetime":null,
4141
"start_datetime":"2018-01-01T13:21:30Z",
4242
"end_datetime":"2018-01-01T13:31:30Z"
4343
},

Diff for: tests/test_models.py

+10
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,16 @@ def test_stac_common_dates(args) -> None:
180180
StacCommonMetadata(**args)
181181

182182

183+
def test_stac_null_datetime_required() -> None:
184+
with pytest.raises(ValidationError):
185+
StacCommonMetadata(
186+
**{
187+
"start_datetime": "2024-01-01T00:00:00Z",
188+
"end_datetime": "2024-01-02T00:00:00Z",
189+
}
190+
)
191+
192+
183193
@pytest.mark.parametrize(
184194
"args",
185195
[

0 commit comments

Comments
 (0)