Mesh edge normal

Is it possible to get the normal vector of an edge on a mesh? As in the direction its facing?

A vector has a length and a direction, an edge has a length and a direction as well, but it does not define in which direction it “looks”. From vert1 to vert2, or from vert2 to vert1?

If it doesn’t matter to you, use simple vector math (pseudo-code):

Vert1, Vert2 = Edge.verts
Vert1.co - Vert2.co

(“look” from Vert2 to Vert1, 'cause we go from Vert2 coordinate to the origin (minus) and add the coordinate of Vert1)

Note that this isn’t “the edge normal”, there’s no edge normal actually (or an infinite amount, depends…)

import bpy

ob = bpy.context.object
ob.update_from_editmode()
me = ob.data

verts = me.vertices
vi1, vi2 = me.edges[0].vertices # pick the first edge's vertex indices

vert1, vert2 = verts[vi1], verts[vi2]

print(vert1.co - vert2.co)