diff --git a/add_curve_aceous_galore.py b/add_curve_aceous_galore.py
index b4df54086a4c24c1dd77021a932818006f2b7756..8bb26a9634cb86bdb1f71f0297a36643504edf80 100644
--- a/add_curve_aceous_galore.py
+++ b/add_curve_aceous_galore.py
@@ -63,7 +63,7 @@ def randnum(low=0.0, high=1.0, seed=0):
                 (type=float)
     """
 
-    s = Noise.seed_set(seed)
+    Noise.seed_set(seed)
     rnum = Noise.random()
     rnum = rnum*(high-low)
     rnum = rnum+low
@@ -97,7 +97,6 @@ def vTurbNoise(x,y,z, iScale=0.25, Size=1.0, Depth=6, Hard=0, Basis=0, Seed=0):
             the generated turbulence vector.
                 (type=3-float list)
     """
-    sn = 0.001
     rand = randnum(-100,100,Seed)
     if Basis == 9: Basis = 14
     vTurb = Noise.turbulence_vector((x/Size+rand, y/Size+rand, z/Size+rand), Depth, Hard, Basis)
diff --git a/add_mesh_ant_landscape.py b/add_mesh_ant_landscape.py
index 19e680bb0153bc9b6d5e4e2e2f9025d1b2770757..39c25974372a90b2eb8b10bf4587d89dfbe57409 100644
--- a/add_mesh_ant_landscape.py
+++ b/add_mesh_ant_landscape.py
@@ -82,9 +82,6 @@ from math import *
 #                    new mesh (as used in from_pydata).
 # name ... Name of the new mesh (& object).
 def create_mesh_object(context, verts, edges, faces, name):
-    scene = context.scene
-    obj_act = scene.objects.active
-
     # Create new mesh
     mesh = bpy.data.meshes.new(name)
 
diff --git a/add_mesh_pipe_joint.py b/add_mesh_pipe_joint.py
index 69b547ed5bd2938903b5775d1e0797d59cfa8702..6ee156999a83d3ed4cfd7ef29a5e90b738fbb328 100644
--- a/add_mesh_pipe_joint.py
+++ b/add_mesh_pipe_joint.py
@@ -129,7 +129,6 @@ mesh.transform(rotation_matrix)
 """
 
 import bpy
-import mathutils
 from math import *
 from bpy.props import *
 
@@ -826,7 +825,7 @@ class AddCrossJoint(bpy.types.Operator):
 
             verts.append([locX * radius, locY * radius, locZ * radius])
 
-        loopTemp2 = loopJoint2[:]
+        # loopTemp2 = loopJoint2[:]  # UNUSED
 
         # Create 2. deformed joint circle
         loopTempA = []
diff --git a/add_mesh_solid.py b/add_mesh_solid.py
index 01825d29141759bf25ec83046a8b3bbe2b1acd22..aa41e50c7a5e1a8091928a69740e95d975ea7c72 100644
--- a/add_mesh_solid.py
+++ b/add_mesh_solid.py
@@ -35,7 +35,7 @@ bl_info = {
 import bpy
 from bpy.props import FloatProperty,EnumProperty,BoolProperty
 from math import sqrt
-from mathutils import Vector,Matrix
+from mathutils import Vector
 from functools import reduce
 from bpy_extras.object_utils import object_data_add
 
@@ -141,9 +141,6 @@ def source(plato):
     
 # processes the raw data from source
 def createSolid(plato,vtrunc,etrunc,dual,snub):
-    verts = []
-    faces = []
-    edges = []
     # the duals from each platonic solid
     dualSource = {"4":"4",
                   "6":"8",
@@ -493,8 +490,7 @@ class Solids(bpy.types.Operator):
         
         # resize to normal size, or if keepSize, make sure all verts are of length 'size'
         if self.keepSize:
-            if dual: rad = self.size/verts[-1].length
-            else: rad = self.size/verts[0].length
+            rad = self.size/verts[-1 if self.dual else 0].length
         else: rad = self.size
         verts = [i*rad for i in verts]
 
diff --git a/animation_add_corrective_shape_key.py b/animation_add_corrective_shape_key.py
index 482c458d823b810c0463573361e4f6d04820111d..92a685ea485c797cc8167ed0fe7109f6be14f9c3 100644
--- a/animation_add_corrective_shape_key.py
+++ b/animation_add_corrective_shape_key.py
@@ -137,20 +137,16 @@ def func_add_corrective_pose_shape( source, target):
     reset_transform(target)
     
     # If target object doesn't have Basis shape key, create it.
-    try:
-        num_keys = len( mesh_1.shape_keys.key_blocks )
-    except:
+    if not mesh_1.shape_keys:
         basis = ob_1.shape_key_add()
         basis.name = "Basis"
         ob_1.data.update()
-        
-    
+
     key_index = ob_1.active_shape_key_index
     # Insert new shape key
     if key_index == 0:
         new_shapekey = ob_1.shape_key_add()
         new_shapekey.name = "Shape_" + ob_2.name
-        new_shapekey_name = new_shapekey.name
         
         key_index = len(mesh_1.shape_keys.key_blocks)-1
         ob_1.active_shape_key_index = key_index
@@ -383,9 +379,7 @@ def func_add_corrective_pose_shape_fast(source, target):
     reset_transform(target)
     
     # If target object doesn't have Basis shape key, create it.
-    try:
-        num_keys = len( target.data.shape_keys.key_blocks )
-    except:
+    if not target.data.shape_keys:
         basis = target.shape_key_add()
         basis.name = "Basis"
         target.data.update()
@@ -397,7 +391,6 @@ def func_add_corrective_pose_shape_fast(source, target):
         # Insert new shape key
         new_shapekey = target.shape_key_add()
         new_shapekey.name = "Shape_" + source.name
-        new_shapekey_name = new_shapekey.name
         
         key_index = len(target.data.shape_keys.key_blocks)-1
         target.active_shape_key_index = key_index
@@ -486,8 +479,7 @@ def vgroups_draw(self, context):
     layout.row().operator("object.add_corrective_pose_shape", text='Add as corrective pose-shape (slow, all modifiers)', icon='COPY_ID') # icon is not ideal
 
 def modifiers_draw(self, context):
-    layout = self.layout
-
+    pass
 
 
 def register():
diff --git a/curve_simplify.py b/curve_simplify.py
index 14284941444aa207fd5ea7d26ba6f62d8392bf1d..660d119205631087a5b8f70365053345135d9701 100644
--- a/curve_simplify.py
+++ b/curve_simplify.py
@@ -194,11 +194,10 @@ def simplify_RDP(splineVerts, options):
 ##########################
 # set bezierhandles to auto
 def setBezierHandles(newCurve):
-        scene = bpy.context.scene
-        bpy.ops.object.mode_set(mode='EDIT', toggle=True)
-        bpy.ops.curve.select_all(action='SELECT')
-        bpy.ops.curve.handle_type_set(type='AUTOMATIC')
-        bpy.ops.object.mode_set(mode='OBJECT', toggle=True)
+    bpy.ops.object.mode_set(mode='EDIT', toggle=True)
+    bpy.ops.curve.select_all(action='SELECT')
+    bpy.ops.curve.handle_type_set(type='AUTOMATIC')
+    bpy.ops.object.mode_set(mode='OBJECT', toggle=True)
 
 # get array of new coords for new spline from vertindices
 def vertsToPoints(newVerts, splineVerts, splineType):
@@ -321,8 +320,6 @@ def selectedfcurves(obj):
 def fcurves_simplify(context, obj, options, fcurves):
     # main vars
     mode = options[0]
-    scene = context.scene
-    fcurves_obj = obj.animation_data.action.fcurves
 
     #get indices of selected fcurves
     fcurve_sel = selectedfcurves(obj)
diff --git a/development_api_navigator.py b/development_api_navigator.py
index addc0d29d5449d232f127d7e8f10d80f3edf7536..4bd9908cec464697f25923cd78c5bdcd0b304efd 100644
--- a/development_api_navigator.py
+++ b/development_api_navigator.py
@@ -59,7 +59,7 @@ with the Escape key. (but a bug prevent the keymap to register correctly at star
 
 """
 
-import bpy, sys
+import bpy
 from console.complete_import import get_root_modules
 
 
@@ -113,7 +113,7 @@ def evaluate(module):
     #print('evaluate')
     global root_module, tree_level, root_m_path
     
-    path = bpy.context.window_manager.api_nav_props.path
+    # path = bpy.context.window_manager.api_nav_props.path
     try :
         len_name = root_module.__name__.__len__()
         root_m_path = 'root_module' + module[len_name:]
@@ -483,11 +483,11 @@ class OBJECT_PT_api_navigator(ApiNavigator, bpy.types.Panel):
                 return {'FINISHED'}
             
             col = self.layout
-            filter = bpy.context.window_manager.api_nav_props.filter
+            # filter = bpy.context.window_manager.api_nav_props.filter  # UNUSED
             reduce_to = bpy.context.window_manager.api_nav_props.reduce_to * self.columns
             pages = bpy.context.window_manager.api_nav_props.pages
             page_index = reduce_to*pages
-            rank = 0
+            # rank = 0  # UNUSED
             count = 0
             i = 0
             filtered = 0
@@ -624,9 +624,7 @@ class OBJECT_PT_api_navigator(ApiNavigator, bpy.types.Panel):
         global tree_level, current_module, module_type, return_report
     
         api_update(context)
-        
-        st = bpy.context.space_data
-        
+
         ###### layout ######
         layout = self.layout
         col = layout.column()
@@ -664,7 +662,7 @@ def register_keymaps():
     km = kc.keymaps.get("Text")
     if km is None:
          km = kc.keymaps.new(name="Text")
-    kmi = km.keymap_items.new('api_navigator.toggle_doc', 'ESC', 'PRESS')
+    km.keymap_items.new('api_navigator.toggle_doc', 'ESC', 'PRESS')
 
 
 def unregister_keymaps():
diff --git a/io_export_unreal_psk_psa.py b/io_export_unreal_psk_psa.py
index e44d0cbfb5236d33234d8bf7585a3c442bfdbd75..0e5d283ab66aa8633984dd5fe90ed39e383e720a 100644
--- a/io_export_unreal_psk_psa.py
+++ b/io_export_unreal_psk_psa.py
@@ -80,15 +80,12 @@ Credit to:
 
 import os
 import time
-import datetime
 import bpy
 import mathutils
 import random
 import operator
-import sys
 
-
-from struct import pack, calcsize
+from struct import pack
 
 # REFERENCE MATERIAL JUST IN CASE:
 # 
@@ -500,11 +497,7 @@ class PSAFile:
         # this will take the format of key=Bone Name, value = (BoneIndex, Bone Object)
         # THIS IS NOT DUMPED
         self.BoneLookup = {} 
-        
-    def dump(self):
-        data = self.Generalheader.dump() + self.Bones.dump() + self.Animations.dump() + self.RawKeys.dump()
-        return data
-    
+
     def AddBone(self, b):
         #LOUD
         #print "AddBone: " + b.Name
@@ -720,7 +713,7 @@ def parse_meshes(blender_meshes, psk_file):
                 vect_list = []
                 
                 #get or create the current material
-                m = psk_file.GetMatByIndex(object_material_index)
+                psk_file.GetMatByIndex(object_material_index)
 
                 face_index = current_face.index
                 has_UV = False
@@ -1261,7 +1254,7 @@ def parse_animation(blender_scene, blender_armatures, psa_file):
                     anim.AnimRate = anim_rate
                     anim.FirstRawFrame = cur_frame_index
                     #===================================================
-                    count_previous_keys = len(psa_file.RawKeys.Data)
+                    # count_previous_keys = len(psa_file.RawKeys.Data)  # UNUSED
                     print("Frame Key Set Count:",frame_count, "Total Frame:",frame_count)
                     #print("init action bones...")
                     unique_bone_indexes = {}
@@ -1306,7 +1299,7 @@ def parse_animation(blender_scene, blender_armatures, psa_file):
                             #print("[=====POSE NAME:",pose_bone.name)
                             
                             #print("LENG >>.",len(bones_lookup))
-                            blender_bone = bones_lookup[pose_bone.name]
+                            # blender_bone = bones_lookup[pose_bone.name]  # UNUSED
                             
                             #just need the total unique bones used, later for this AnimInfoBinary
                             unique_bone_indexes[bone_index] = bone_index
@@ -1421,7 +1414,7 @@ def parse_animation(blender_scene, blender_armatures, psa_file):
                 anim.AnimRate = anim_rate
                 anim.FirstRawFrame = cur_frame_index
                 #===================================================
-                count_previous_keys = len(psa_file.RawKeys.Data)
+                # count_previous_keys = len(psa_file.RawKeys.Data)  # UNUSED
                 print("Frame Key Set Count:",frame_count, "Total Frame:",frame_count)
                 #print("init action bones...")
                 unique_bone_indexes = {}
@@ -1466,7 +1459,7 @@ def parse_animation(blender_scene, blender_armatures, psa_file):
                         #print("[=====POSE NAME:",pose_bone.name)
                         
                         #print("LENG >>.",len(bones_lookup))
-                        blender_bone = bones_lookup[pose_bone.name]
+                        # blender_bone = bones_lookup[pose_bone.name]  # UNUSED
                         
                         #just need the total unique bones used, later for this AnimInfoBinary
                         unique_bone_indexes[bone_index] = bone_index
@@ -1853,13 +1846,13 @@ class OBJECT_OT_add_remove_Collection_Items_UE(bpy.types.Operator):
             added.name = "Action"+ str(random.randrange(0, 101, 2))
         if self.set == "refresh":
             print("refresh")
-            ArmatureSelect = None
+            # ArmatureSelect = None  # UNUSED
             ActionNames = []
             BoneNames = []
             for obj in bpy.data.objects:
                 if obj.type == 'ARMATURE' and obj.select == True:
                     print("Armature Name:",obj.name)
-                    ArmatureSelect = obj
+                    # ArmatureSelect = obj  # UNUSED
                     for bone in obj.pose.bones:
                         BoneNames.append(bone.name)
                     break
@@ -2197,7 +2190,6 @@ class OBJECT_OT_UTRebuildMesh(bpy.types.Operator):
                 print("creating array build mesh...")
                 uv_layer = mesh.uv_textures.active
                 for face in mesh.faces:
-                    v = []
                     smoothings.append(face.use_smooth)#smooth or flat in boolean
                     if uv_layer != None:#check if there texture data exist
                         faceUV = uv_layer.data[face.index]
@@ -2209,10 +2201,7 @@ class OBJECT_OT_UTRebuildMesh(bpy.types.Operator):
                             uvs.append((uv[0],uv[1]))
                         #print(uvs)
                         uvfaces.append(uvs)
-                    for videx in face.vertices:
-                        vert = mesh.vertices[videx]
-                        v.append(videx)
-                    faces.append(v)                    
+                    faces.append(face.vertices[:])           
                 #vertex positions
                 for vertex in mesh.vertices:
                     verts.append(vertex.co.to_tuple())				
diff --git a/io_import_scene_dxf.py b/io_import_scene_dxf.py
index 96344ea22e1cb14c026478f4d5b225f83c2d3159..6aab7122c94d5a31a451c1f78411914fa788d1f4 100644
--- a/io_import_scene_dxf.py
+++ b/io_import_scene_dxf.py
@@ -89,7 +89,6 @@ import codecs
 import math
 from math import sin, cos, radians
 import bpy
-import mathutils
 from mathutils import Vector, Matrix
 
 #
@@ -271,7 +270,7 @@ class CArc(CEntity):
         start, end = self.start_angle, self.end_angle
         if end > 360: end = end % 360.0
         if end < start: end +=360.0
-        angle = end - start
+        # angle = end - start  # UNUSED
 
         deg2rad = math.pi/180.0
         start *= deg2rad
@@ -964,8 +963,9 @@ class CPoint(CEntity):
     def draw(self):
         #todo
         # draw as empty-object
-        loc = self.point
+        # loc = self.point  # UNUSED
         #bpy.ops.object.new('DXFpoint')
+        pass
 
 #
 #    class CPolyLine(CEntity):
@@ -2393,7 +2393,7 @@ def readAndBuildDxfFile(filepath):
             if 0: # how to switch to the new scene?? (migius)
                 new_scn = bpy.data.scenes.new(shortName[-20:])
                 #new_scn.layers = (1<<20) -1
-                new_scn_name = new_scn.name
+                #new_scn_name = new_scn.name  # UNUSED
                 bpy.data.screens.scene = new_scn
                 #print("newScene: %s" % (new_scn))
         sections = readDxfFile(fileName)
diff --git a/io_import_scene_lwo.py b/io_import_scene_lwo.py
index 69fa27300d88b8cfe9a274ddbbab8b710db27d1a..85480ee978e5c535ae4e853f04297bb216c524c3 100644
--- a/io_import_scene_lwo.py
+++ b/io_import_scene_lwo.py
@@ -62,8 +62,6 @@ bl_info= {
 
 
 import os
-import io
-import time
 import struct
 import chunk
 
diff --git a/io_import_scene_mhx.py b/io_import_scene_mhx.py
index 04828de9ad37e95dd90451e3bcafbdbd060a0f0b..60fdc4280029bc59b50c0f110be5d7d4d48dfb1a 100644
--- a/io_import_scene_mhx.py
+++ b/io_import_scene_mhx.py
@@ -62,7 +62,6 @@ BLENDER_VERSION = (2, 58, 0)
 import bpy
 import os
 import time
-import mathutils
 from mathutils import Matrix
 #import geometry
 #import string
@@ -283,7 +282,7 @@ def readMhxFile(filePath):
     print( "Opening MHX file "+ fileName )
     time1 = time.clock()
 
-    ignore = False
+    # ignore = False  # UNUSED
     stack = []
     tokens = []
     key = "toplevel"
@@ -334,7 +333,7 @@ def readMhxFile(filePath):
             except:
                 print( "Tokenizer error at or before line %d" % lineNo )
                 print( line )
-                dummy = stack.pop()
+                stack.pop()
         elif lineSplit[-1] == ';':
             if lineSplit[0] == '\\':
                 key = lineSplit[1]
diff --git a/io_import_scene_unreal_psk.py b/io_import_scene_unreal_psk.py
index 5646af8bd8788b1a08cec24e6a999aba34568968..edc7cd024c6e493b4b48dcf4010adf3f158b5ff9 100644
--- a/io_import_scene_unreal_psk.py
+++ b/io_import_scene_unreal_psk.py
@@ -47,16 +47,11 @@ Imports a *psk file to a new mesh
 
 import bpy
 import mathutils
-import os
-import sys
-import string
 import math
-import re
 from string import *
 from struct import *
 from math import *
 from bpy.props import *
-import mathutils
 
 bpy.types.Scene.unrealbonesize = FloatProperty(
     name="Bone Length",
@@ -299,7 +294,6 @@ def pskimport(infile,importmesh,importbone,bDebugLogPSK,importmultiuvtextures):
     
     Bns = []
     bone = []
-    nobone = 0
     #================================================================================================== 
     # Bone Data 
     #==================================================================================================
@@ -369,16 +363,12 @@ def pskimport(infile,importmesh,importbone,bDebugLogPSK,importmultiuvtextures):
     #bpy.ops.object.mode_set(mode='OBJECT')
     meshname ="ArmObject"
     objectname = "armaturedata"
-    bfound = False
-    arm = None
+    # arm = None  # UNUSED
     if importbone:
-        for obj in bpy.data.objects:
-            if (obj.name == meshname):
-                bfound = True
-                arm = obj
-                break
-				
-        if bfound == False:
+        obj = bpy.data.objects.get(meshname)
+        # arm = obj  # UNUSED
+
+        if obj:
             '''
             armdata = bpy.data.armatures.new(objectname)
             ob_new = bpy.data.objects.new(meshname, armdata)
@@ -603,7 +593,7 @@ def pskimport(infile,importmesh,importbone,bDebugLogPSK,importmultiuvtextures):
     print ("-- Creating UV Texture --")
     print ("-------------------------") 
     texture = []
-    texturename = "text1"
+    # texturename = "text1"  # UNUSED
     countm = 0
     #for countm in range(materialcount):
         #psktexname="psk" + str(countm)
@@ -642,7 +632,7 @@ def pskimport(infile,importmesh,importbone,bDebugLogPSK,importmultiuvtextures):
                 me_ob.update()
                 #print("UV TEXTURE NAME:",uvtex.name)
                 if (len(faceuv) > 0):
-                    counttex = 0
+                    # counttex = 0  # UNUSED
                     countm = 0
                     for countm in range(len(me_ob.uv_textures)):
                         me_ob.update()
diff --git a/modules/geometry_utils.py b/modules/geometry_utils.py
index e928ace24df6138615673576974d00dd010ae432..8fd0e00eadca9f7a079ad61e0556c075b9ade751 100644
--- a/modules/geometry_utils.py
+++ b/modules/geometry_utils.py
@@ -21,14 +21,10 @@
     geometry_utils.py
 
     3d geometry calculations
-    
-    
-
 '''
 
 
-from mathutils import Vector, Matrix
-from mathutils import geometry
+from mathutils import geometry, Vector
 
 
 # 3D Geometry
@@ -210,6 +206,3 @@ class G3:
         #else:
             #pc.normalize()
         #return c + (pc * G3.distanceP2P(c, fv[0]))
-
-
-
diff --git a/modules/ui_utils.py b/modules/ui_utils.py
index e938efa9e305cda81b158fae5398ed43f076ef52..1bbb9ef216288361f342a5521f54a53ab221d492 100644
--- a/modules/ui_utils.py
+++ b/modules/ui_utils.py
@@ -21,13 +21,9 @@
     ui_utils.py
 
     Some UI utility functions
-    
-    
-
 '''
 
 
-
 class GUI:
 
     @classmethod
diff --git a/object_cloud_gen.py b/object_cloud_gen.py
index 954e5cf152e52093cfe108a3e65af4062e02cc0c..64fdef7038528617e495d34bb85b432241ad0e52 100644
--- a/object_cloud_gen.py
+++ b/object_cloud_gen.py
@@ -51,7 +51,6 @@ Rev 1.0 Added ability to convert object with particle system to cloud and auto r
 """
 
 import bpy
-import mathutils
 from math import *
 from bpy.props import *
 
@@ -579,7 +578,7 @@ class GenerateCloud(bpy.types.Operator):
             mVolume.cache_resolution = 45
 
             # Add a texture
-            vMaterialTextureSlots = cloudMaterial.texture_slots
+            # vMaterialTextureSlots = cloudMaterial.texture_slots  # UNUSED
             cloudtex = blend_data.textures.new("CloudTex", type='CLOUDS')
             cloudtex.noise_type = 'HARD_NOISE'
             cloudtex.noise_scale = 2
diff --git a/paint_palette.py b/paint_palette.py
index 5d403a831baf0874fae17b99e6c50db8cf2236ce..6c6ff89e638993b58d814613b180be12833f275f 100644
--- a/paint_palette.py
+++ b/paint_palette.py
@@ -686,7 +686,7 @@ def register():
     
 
     for i in range(0, 256):
-        colors = bpy.context.window_manager.palette_props.colors.add()
+        bpy.context.window_manager.palette_props.colors.add()
     
     pass
     
diff --git a/render_renderfarmfi.py b/render_renderfarmfi.py
index 8ed14c1078ba0a5a28423f96b1eb56c27e000823..01656c591d46ed5ef405ecf5fd75918222739d96 100644
--- a/render_renderfarmfi.py
+++ b/render_renderfarmfi.py
@@ -41,7 +41,7 @@ import hashlib
 import http.client
 import xmlrpc.client
 import math
-from os.path import abspath, isabs, join, isfile
+from os.path import isabs, isfile
 
 from bpy.props import PointerProperty, StringProperty, BoolProperty, EnumProperty, IntProperty, CollectionProperty
 
@@ -317,7 +317,6 @@ class CHECK_PT_RenderfarmFi(RenderButtonsPanel, bpy.types.Panel):
 
     def draw(self, context):
         layout = self.layout
-        ore = context.scene.ore_render
 
         if bpy.found_newer_version == True:
             layout.operator('ore.open_download_location')
@@ -443,7 +442,6 @@ def encode_multipart_data(data, files):
                 '', str(data[field_name]))
 
     def encode_file(field_name):
-        import codecs
         filename = files [field_name]
         return ('--' + boundary,
                 'Content-Disposition: form-data; name="%s"; filename="%s"' % (field_name, filename),
@@ -604,7 +602,7 @@ def xmlSessionsToOreSessions(sessions, queue):
     completed = sessions[queue]
     for sid in completed:
         s = completed[sid]['title']
-        t = completed[sid]['timestamps']
+        # t = completed[sid]['timestamps']  # UNUSED
         sinfo = OreSession(sid, s) 
         if queue in ('completed', 'active'):
             sinfo.frames = completed[sid]['framesRendered']
@@ -641,7 +639,7 @@ class ORE_CancelSession(bpy.types.Operator):
         if len(bpy.ore_sessions)>0:
             s = bpy.ore_sessions[ore.selected_session]
             try:
-                res = userproxy.user.cancelSession(ore.username, ore.hash, int(s.id))
+                userproxy.user.cancelSession(ore.username, ore.hash, int(s.id))
                 self.report(set(['INFO']), 'Session ' + s.title + ' with id ' + s.id + ' cancelled')
             except:
                 self.report(set(['ERROR']), 'Could not cancel session ' + s.title + ' with id ' + s.id)
@@ -725,8 +723,6 @@ class ORE_CheckUpdate(bpy.types.Operator):
     bl_label = 'Check for new version'
 
     def execute(self, context):
-        sce = context.scene
-        ore = sce.ore_render
         blenderproxy = xmlrpc.client.ServerProxy(r'http://xmlrpc.renderfarm.fi/blender')
         try:
             self.report(set(['INFO']), 'Checking for newer version on Renderfarm.fi')
diff --git a/space_view3d_align_tools.py b/space_view3d_align_tools.py
index 11ff8b98639f729cfb5c8375d25193015b9720bc..4769652bbc719633fd58c1ebfbdfeb11e8bdca62 100644
--- a/space_view3d_align_tools.py
+++ b/space_view3d_align_tools.py
@@ -56,7 +56,7 @@ class AlignUi(bpy.types.Panel):
             row = layout.row()
             row.label(obj.name, icon='EDITMODE_HLT')
         
-        box = layout.separator()
+        layout.separator()
         
         col = layout.column()
         col.label(text="Align Loc + Rot:", icon='MANIPUL')
diff --git a/space_view3d_materials_utils.py b/space_view3d_materials_utils.py
index 3c0fa52320a651aee7a1e3caccf2849e79bd62a7..2b3bb2d0a19eba4b001c18d5c6326204f845b7bf 100644
--- a/space_view3d_materials_utils.py
+++ b/space_view3d_materials_utils.py
@@ -149,11 +149,11 @@ def select_material_by_name(find_mat):
         #same material can be on multiple slots
         slot_indeces =[]
         i = 0
-        found = False
+        # found = False  # UNUSED
         for m in ms:
             if m.material.name == find_mat:
                 slot_indeces.append(i)
-                found = True
+                # found = True  # UNUSED
             i += 1
         me = ob.data
         for f in me.faces:
@@ -647,9 +647,6 @@ class VIEW3D_MT_assign_material(bpy.types.Menu):
     def draw(self, context):
         layout = self.layout
         layout.operator_context = 'INVOKE_REGION_WIN'
-
-        ob = context
-        layout.label
         for i in range (len(bpy.data.materials)):
     
             layout.operator("view3d.assign_material",
diff --git a/space_view3d_spacebar_menu.py b/space_view3d_spacebar_menu.py
index 51a9a54431d0902ff4e0ca6a67de78d08b3a9707..c4ba950e5e47bbcaad870f629cc1acf8edb61147 100644
--- a/space_view3d_spacebar_menu.py
+++ b/space_view3d_spacebar_menu.py
@@ -68,8 +68,6 @@ v0.1 through 0.9 - various tests/contributions by various people and scripts
 
 import bpy
 from bpy import *
-from mathutils import Vector, Matrix
-import math
 
 # Dynamic Menu
 class VIEW3D_MT_Space_Dynamic_Menu(bpy.types.Menu):
@@ -1156,7 +1154,7 @@ class VIEW3D_MT_edit_TK(bpy.types.Menu):
 
     def draw(self, context):
         layout = self.layout
-        row = layout.row()
+        layout.row()  # XXX, is this needed?
 
         layout.operator_context = 'INVOKE_REGION_WIN'
 
diff --git a/texture_paint_layer_manager.py b/texture_paint_layer_manager.py
index c431f03f1e329af2f00d5a9c6200a952fbbfba50..c3eb8afb11b9e9bbded08fdb21617bb3e93b809a 100644
--- a/texture_paint_layer_manager.py
+++ b/texture_paint_layer_manager.py
@@ -151,7 +151,6 @@ class OBJECT_PT_Texture_paint_layers(bpy.types.Panel):
 
         ob = bpy.context.image_paint_object
         if ob:
-            me = ob.data
             mat = ob.active_material
             if not mat:
                 row = layout.row() 
@@ -268,7 +267,6 @@ class OBJECT_PT_Texture_paint_add(bpy.types.Panel):
 
         ob = bpy.context.image_paint_object
         if ob:
-            me = ob.data
             mat = ob.active_material
             
             if mat: