I have been stuck for a few days now. I saw all the sources I could find and tried a more than one technique. Anyway here is my code (gathered from a few places) the closes Ive gotten is close to the mouse cursor but not quite there
x, y = pygame.mouse.get_pos()
model_view = np.array(glGetDoublev(GL_MODELVIEW_MATRIX))
proj = np.array(glGetDoublev(GL_PROJECTION_MATRIX))
view = np.array(glGetIntegerv(GL_VIEWPORT))
corrected_y = view[3]-y
corrected_x = x
glEnable(GL_DEPTH_TEST)
depth = glReadPixels(x, corrected_y, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT)
print (depth)
pointa = np.array(gluUnProject(corrected_x, corrected_y, -1))
originalpt = np.array(gluUnProject(corrected_x, corrected_y, 1, model_view, proj,view))
print (originalpt, " original pt")
print("pointa", pointa," originalpt",originalpt)
ray = originalpt - pointa
raydirection = np.linalg.norm(ray)
print (raydirection, "ray dir")
print("ray", ray)
normal = np.array([0.00,1.00,0.00,])
(originalpt[2]*normal[1]))/((normal[0]*pointa[0])+(normal[1]*pointa[1])+(normal[2]*pointa[2])))
t = -((normal.dot(originalpt)+1)/normal.dot(raydirection)+1)
#point = originalpt+ raydirection*t
point = originalpt + (t*raydirection)
print("tttt", t)
print(point,"point intrs")
mylist.append(point)