I'm seeing an issue with a wood texture I have been using successfully until I started splitting subdividing my object using Python with:
# Subdivide each face into four parts
bmesh.ops.subdivide_edges(bm, edges=bm.edges, cuts=1, use_grid_fill=True , use_only_quads=True)
update mesh
bmesh.update_edit_mesh(mesh)
recalculate normals
bmesh.ops.recalc_face_normals(bm, faces=bm.faces)
This may not be a Python specific issue, if I can better understand why the shading and pattern changes for some objects I can probably figure out the Python fix. This wood texture is imported and applied to each face based on the face normal using Python.
Here is an example of the texture issue:
but this issue does not appear for other similar parts using the eaxct same methods and textures, for example:

I can also se it on other parts like:
The shader to texture used can be seen below:

This community has been extremely helpful, please else me know if anything is unclear or if more information is required :)
Update 1:
@Gorgious here is a screenshot of the normals as requested, they seem correct. I figure if we could solve the shading issue on a simple example like this is might be helpful and the associated .blend file was uploaded @Harry McKenzie:






