Here is a bare bones example:
from z3 import *
import sys
opt = Optimize()
def on_model(m):
print("model", m)
sys.stdout.flush()
opt.set_on_model(on_model)
#opt.set("maxsat_engine","wmax")
opt.set("enable_lns", True)
opt.from_file("../smtlib.txt")
set_option(verbose=2)
opt.set(timeout=3000)
opt.check()
print(opt.model())