What's the simplest way to determine if a date is a U.S. bank holiday in Python? There seem to be various calendars and webservices listing holidays for various countries, but I haven't found anything specific to banks in the U.S.
I should caution contributors from thinking this is all solvable by an algorithm. Three examples:

most Islamic holidays are lunar.  The moon is predictable, some countries do this, but others explicitly require that the new moon be actually sighted in the country.  Some even post people to the tops of tall mountains, tasked to try to spot the new moon.  If the night is cloudy, the new moon may not be sighted, so the following day is not a holiday.
a committee in China meets around November each year to decide on the number of holidays that will be given for Chinese New Year in mainland China the following February.  As an added complication, because there are so many public holidays given for Chinese New Year, the Chinese Government sometimes nominates weekends after the holiday as working days, to boost economic activity.
stock exchanges in India sometimes have a very short trading period at a weekend for auspicious religious reasons.

For this reason, there are companies that do this research, get the updates, and publish holidays via an API, for a fee.  Users typically query that API every day in case new holidays are announced.
Detecting a US Holiday