I think the code you are using is changing the PPT data before it is applied to the viewpoint. PPT always outputs in meters and is oriented in the positive z direction of the calibration square. Try running only this code only:
Code:
import viz
import vizact
viz.go()
viz.add('court.ive')
vrpn = viz.add('vrpn7.dle')
tracker = vrpn.addTracker('PPT0@hostname',0)
def updateView():
pptPos = tracker.getPosition()
viz.MainView.setPosition(pptPos)
vizact.onupdate(viz.PRIORITY_DEFAULT, updateView)