In my python application, I used "simple_salesforce" library to fetch data from salesforce. Instead of hitting an API every time I would expect salesforce to return data from cache instead of querying. Is this possible?
Neither Salesforce nor simple_salesforce includes a caching layer per se (although the platform applies its own transparent caching to entities like Custom Settings, and may also use internal caches to speed up some operations).
If you want API results cached on your client you'll need to implement that in Python.