How to edit a custom property in a python script?
_RNA_UI dictionary

As descibed here https://blender.stackexchange.com/a/43786/15543

import bpy

context = bpy.context
obj = context.object

if not obj.get('_RNA_UI'):
    obj['_RNA_UI'] = {}

# set it
obj["scale_factor"] = 1.0

# property attributes.for UI 
obj['_RNA_UI']["scale_factor"] = {"description":"Scale Factor",
                  "default": 1.0,
                  "min":0.0,
                  "max":10.0,
                  "soft_min":0.0,
                  "soft_max":10.0,
                  "is_overridable_library":0,
                  }

# test UI in text editor footer

def draw(self, context):
    ob = context.object
    self.layout.prop(ob, '["scale_factor"]')

bpy.types.TEXT_HT_footer.append(draw)