How to subset a stream I/O and pass it to TensorFlow.jl? (question has been updated)

Sorry, the nb_available for the Libz stream should have been !eof:

if !method_exists(nb_available, (BufferedStreams.BufferedInputStream{Libz.Source}, ))
    Base.nb_available{T <: Libz.Source}(s::BufferedStreams.BufferedInputStream{T}) = !eof(s)
end

It is only required to let CSV.Source know (once, at the start) that it can start on the stream and that it isn’t empty or already exhausted.

The method_exists check should make it a little bit more future-proof, in case an official method is later added.