Date_input does not seem to respect the min_value or max_value options

I am unable to get date_input to display a minimum or maximum selectable dates. I am running the following code:

defaultDate =, 6, 20)
minDate =,3,1)
maxDate =, 7, 5)

d = st.date_input("Select Date", defaultDate, minDate)
st.write("Selected date is ", d)

This allows me to select any date before the minDate in the widget. Is that how its supposed to behave? I didn’t get that from the API description. Also when I add the maxDate as another argument like
d = st.date_input("Select Date", defaultDate, minDate, maxDate)
I get an error showing
TypeError: date_input() takes from 3 to 5 positional arguments but 6 were given

I am not sure what I am doing wrong here. I am a newbie to Streamlit so appreciate any help from the forum.