diff --git a/grib_processor/__main__.py b/grib_processor/__main__.py
index 117c77974b4829028437db09381a9b42f2622902..87e7e74abef79cbe601f98900d419ab93100823e 100644
--- a/grib_processor/__main__.py
+++ b/grib_processor/__main__.py
@@ -11,4 +11,4 @@ from grib_processor.main import main
 
 
 if __name__ == "__main__":
-    sys.exit(main())
+    sys.exit(main())  # type: ignore[func-returns-value]
diff --git a/grib_processor/grib.py b/grib_processor/grib.py
index 7abd23561a6485ca21cb2a5b7fa8290d138ef352..7d848e1f418c533eb1645d154e66f239345274de 100644
--- a/grib_processor/grib.py
+++ b/grib_processor/grib.py
@@ -15,7 +15,7 @@ from typing import Generator
 
 import grib2io
 from ssec_amqp import utils as amqp_utils
-from typing_extensions import Literal, TypedDict
+from typing_extensions import Literal, TypedDict, TypeAlias
 
 from grib_processor import data
 
@@ -25,6 +25,9 @@ if sys.version_info < (3, 9):
 else:
     import importlib.resources as resources
 
+# Custom types
+IsoStr: TypeAlias = str
+
 # Contains a serializable mapping of first_lat, first_lon, rows, cols,
 # and generating_process_ids to xcd model names and ids.
 #
@@ -55,8 +58,8 @@ class GribMetadata(TypedDict):
     last_lon: float | None
     forecast_hour: int
     run_hour: int
-    model_time: datetime
-    start_time: datetime
+    model_time: IsoStr
+    start_time: IsoStr
     projection: str
     center_id: int
     center_desc: str
@@ -82,7 +85,7 @@ class GribPayload(GribMetadata):
     the file and server itself.
     """
 
-    __payload_gen_time__: datetime
+    __payload_gen_time__: IsoStr
     __injector_script__: str
     path: str
     directory: str
diff --git a/pyproject.toml b/pyproject.toml
index da5a0699e36906116044a70530f7fbd64e19d1ab..822ff59db3f28ce1738592b5f89b47cfd435bcce 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -35,3 +35,10 @@ packages = ["grib_processor"]
 
 [tool.setuptools.dynamic]
 version = {attr = "grib_processor.__version__"}
+
+
+[tool.mypy]
+python_version = "3.8"
+disable_error_code = [
+    "import-untyped",
+]