Cara,
Eu estava procurando exatamente a mesma coisa e me deparei com seu post, já me ajudou muito!
Não sei se você já resolveu seu problema, mas eu dei uma testada na biblioteca e posso te ajudar. Caso já tenha encontrado a solução para seu problema é só desconsiderar minha resposta.
No exemplo abaixo eu fiz um teste bem simples. Veja que estou lendo um arquivo de log que se encontra no diretório /app/log/, como eu coloquei em um while True, ele sempre vai estar lendo esse arquivo. Enquanto o arquivo some.log está sendo lido, o arquivo some.offset está sendo alterado em outro diretório (/app/offset/), esse arquivo controla quais linhas já foram do arquivo de log já foram lidas.
Assim, você pode abrir uma conexão ssh e passar o arquivo para que seja lido. O offset pode ficar no mesmo diretório ou em outro que você quiser, caso você não insera um diretório para offset_file, ele vai criar o arquivo de offset no mesmo diretório do arquivo de log.
Se você executar o exemplo abaixo, você verá que, sempre que você atualizar o arquivo some.log, ele irá realizar o print apenas das novas linhas inseridas. Se você abrir o arquivo offset você verá que ele atualizou a linha que ele já leu.
O arqui offset consiste em apenas duas linhas, a linha onde começou a leitura e a linha onde ele fez a última leitura.
if __name__ == '__main__':
import sys
from pygtail import Pygtail
while True:
for line in Pygtail("\app\log\some.log", offset_file="\app\offset\some.offset"):
sys.stdout.write(line)