Help with simple Snap Mode Pie Menu

I am trying to create a simple Pie Menu that allows me to quickly change Snap modes (Why doesn’t Blender already have this?) I was able to get something working using the Pie Menu template but when I tried to get it working with a hot key it stopped working. I was looking at a number of Pie Menus for help but I can 't get it to work and there are no errors reported. I’d appreciate any help.

bl_info = {
    "name": "SnapModePie",
    "author": "Matt Carter",
    "version": (0, 0, 0),
    "blender": (2, 7, 4),
    "description": "Set Snap Mode - Shift+S",
    "category": "3D View"}

import bpy
from bpy.types import Menu
from bpy.types import Operator, AddonPreferences

class SnapIncrement(bpy.types.Operator):  
    bl_idname = "snap.incr"  
    bl_label = "Snap To Increment" 

    def execute(self, context): 
        bpy.context.scene.tool_settings.snap_element = 'INCREMENT'
        return {'FINISHED'}

class SnapVertex(bpy.types.Operator):  
    bl_idname = "snap.vert"  
    bl_label = "Snap To Vertex" 

    def execute(self, context): 
        bpy.context.scene.tool_settings.snap_element = 'VERTEX'
        return {'FINISHED'} 


class SnapMode(Menu):
    # label is displayed at the center of the pie menu.
    bl_label = "Snap Mode"
    bl_idname= "snap.mode"

    def draw(self, context):
        layout = self.layout

        pie = layout.menu_pie()
#        pie.operator_enum("mesh.select_mode", "type")
        pie.operator("snap.incr", text="Increment Snap", icon='SNAP_INCREMENT')
        pie.operator("snap.ver", text="Vertex Snap", icon='SNAP_VERTEX')


addon_keymaps = []
def register():
    
    
    bpy.utils.register_class(SnapMode)
    
    wm = bpy.context.window_manager
    
    if wm.keyconfigs.addon:
        
        # Key "SPACEBAR"
        km = wm.keyconfigs.addon.keymaps.new(name = 'Snap Mode Select', space_type = 'VIEW_3D')
        kmi = km.keymap_items.new("wm.call_menu_pie","SPACE","PRESS")
        kmi.properties.name ="snap.mode"
        

def unregister():
    bpy.utils.unregister_module(__name__)
    
    bpy.utils.unregister_class(SnapMode)


if __name__ == "__main__":
    register()


You’re not registering all required classes, use
bpy.utils.register_module(name) instead of register_class().

There’s an “r” missing in the pie layout code, should be
pie.operator(“snap.vert”, text=“Vertex Snap”, icon=‘SNAP_VERTEX’)

The keymap needs to be called 3D View:
km = wm.keyconfigs.addon.keymaps.new(name = ‘3D View’, space_type = ‘VIEW_3D’)

bl_info has a wrong Blender version check, should be:
“blender”: (2, 74, 0),

Wooo hooo! Thanks for your help as always!