example that maintains local cache?
This imap implementation is much easier to use than the one built into Python! Thank you for providing it.
The IMAP Wiki says that it is incorrect for imap clients to download an entire mailbox every time it is referenced. Instead, the client is supposed to cache the mailbox locally and just download changes.
This is functionality that would be reasonable to have in imapclient. However, it seems that this functionality is not present. Is there an intent to add such functionality? Failing that, could there be an example of how to implement it?
I don't think it makes sense for IMAPClient to have this sort of functionality built in as the approach to syncing will likely be driven by requirements, technology stack and server capabilites. A starter example in the documentation would be good to have though.
I'm not sure when I'll have time to write this but as a starting point I'd recommend looking at the UID and UIDVALIDITY sections of RFC3501. RFC4949 and RFC7162 are also really useful in this respect.