Move selected mesh items to cursor in defined axis
I seem to have figured it out by cobbling together a bunch of solutions. 

import bpy
from mathutils import Vector

ob = bpy.context.object
ob.update_from_editmode()
me = ob.data
verts_sel = [v.co for v in me.vertices if v.select]
pivot = sum(verts_sel, Vector()) / len(verts_sel)
c_location = bpy.context.scene.cursor.location
m_location = ob.matrix_world @ pivot

#get get the offset
l = c_location - m_location

#split the tuple
xdir = l[0]
ydir = l[1]
zdir = l[2]

#move the mesh in x to cursor
bpy.ops.transform.translate(value=(xdir, 0, 0), constraint_axis=(False, False, True), orient_matrix_type='GLOBAL')