diff --git a/pre_commit_hooks/requirements_txt_fixer.py b/pre_commit_hooks/requirements_txt_fixer.py
index 63f891f..5884394 100644
--- a/pre_commit_hooks/requirements_txt_fixer.py
+++ b/pre_commit_hooks/requirements_txt_fixer.py
@@ -1,8 +1,8 @@
+from __future__ import annotations
+
 import argparse
 import re
 from typing import IO
-from typing import List
-from typing import Optional
 from typing import Sequence
 
 
@@ -15,8 +15,8 @@
     UNTIL_SEP = re.compile(rb'[^;\s]+')
 
     def __init__(self) -> None:
-        self.value: Optional[bytes] = None
-        self.comments: List[bytes] = []
+        self.value: bytes | None = None
+        self.comments: list[bytes] = []
 
     @property
     def name(self) -> bytes:
@@ -36,7 +36,7 @@
 
         return name[:m.start()]
 
-    def __lt__(self, requirement: 'Requirement') -> bool:
+    def __lt__(self, requirement: Requirement) -> bool:
         # \n means top of file comment, so always return True,
         # otherwise just do a string comparison with value.
         assert self.value is not None, self.value
@@ -61,9 +61,9 @@
 
 
 def fix_requirements(f: IO[bytes]) -> int:
-    requirements: List[Requirement] = []
+    requirements: list[Requirement] = []
     before = list(f)
-    after: List[bytes] = []
+    after: list[bytes] = []
 
     before_string = b''.join(before)
 
@@ -130,7 +130,7 @@
         return FAIL
 
 
-def main(argv: Optional[Sequence[str]] = None) -> int:
+def main(argv: Sequence[str] | None = None) -> int:
     parser = argparse.ArgumentParser()
     parser.add_argument('filenames', nargs='*', help='Filenames to fix')
     args = parser.parse_args(argv)
