Python 2.8 - transform/resize UV map instead of object
Use the right context

The issue here, as often with operators, is context.  .  If Transfrom resize  is run in the context of the UV editor it resizes the selected UVs, if run in the dopesheet scales the selected keyframes, ..., otherwise (or if run from 3dview) it defaults back to the object or the mesh.

Depending on how you are going to invoke your code, may need to override the context such that the operator "thinks" it was invoked in, in this case,  the UV area.  (Like pressing a button in that area)

Some python console test code

Areas in my current screen, area 2 is the image editor. 

&gt;&gt;&gt; for i, a in enumerate(C.screen.areas):
...     i, a.type
...     
(0, 'PROPERTIES')
(1, 'OUTLINER')
(2, 'IMAGE_EDITOR')
(3, 'VIEW_3D')
(4, 'CONSOLE')

&gt;&gt;&gt; ie = C.screen.areas[2]


The mesh is in edit mode with all faces selected. Running the operator like so scales my mesh.

&gt;&gt;&gt; bpy.ops.transform.resize(value=(1, 2, 1))
{'FINISHED'}


If I override context.area such that it is the image editor from above, it scales the UV.

&gt;&gt;&gt; bpy.ops.transform.resize({"area" : ie}, value=(1, 2, 1))
{'FINISHED'}


Related

poll() failed, context incorrect? - Example: bpy.ops.view3d.background_image_add()

Without the operator

From the text editor template templates &gt; python &gt; Operator mesh UV can scale the uv coordinates directly.

    uv_layer = bm.loops.layers.uv.verify()

    # adjust uv coordinates

    S = Matrix.Diagonal((1, 2)) # scale matrix

    for face in bm.faces:
        for loop in face.loops:
            loop_uv = loop[uv_layer]
            # use matrix to scale uv by 2 in y
            loop_uv.uv @= S