input: from typing import List
  
  def generate_password(length: int = 8) -> str:
      """
      Generates a random password with the specified minimum length of 8 characters, 
      including at least one number and one special character.
      
      >>> generate_password()
      't&5Gz9X#'
      >>> generate_password()
      '8@Mp3xR*'
      """
      chars = string.ascii_letters + string.digits + string.punctuation
      while True:
          password = "".join(random.choice(chars) for i in range(length))
          if any(c.isdigit() for c in password) and any(c in string.punctuation for c in password):
              return password
output:     import random
      import string