None of the implementations of ChaCha20-Poly1305 AEAD scheme I've seen so far provide a streaming API. Instead, ChaCha20-Poly1305 is presented as an inseparable combination, closely adhering to the pseudocode from the section 2.8 of "ChaCha20 and Poly1305 for IETF Protocols", which requires the plaintext message to be fully loaded into memory. I would prefer to avoid that in case the input becomes very large (but still finite and with a known size). (I know I could split the message up, but I want to avoid that, too)
I'm starting to wonder if it's at all possible to provide a streaming API to that scheme? If not, why?