Blender 2.8 API, python, set active object I'm trying to amend an addon that I made for Blender 2.7X to work with Blender 2.80.
The problem is with

bpy.context.scene.objects.active = some_object


This is how I used to set an active object, the problem is, active property was removed in the new API!,reading other Q&amp;As, I found 2 suggestions:

bpy.context.object


and

bpy.context.active_object 


The problem is, both of these will return the already active object, but when I try to use them this way:

bpy.context.active_object = some_object


or 

bpy.context.object = some_object


I'm getting an AttributeError: property is read-only!

I tried the documentation with no luck!

EDIT:

According to Blender 2.8 WIKI API changes:
https://wiki.blender.org/wiki/Dev:2.8/Source/LayersCollections/API-Changes

bpy.context.scene.objects.active


changed into

bpy.context.render_layer.objects.active


This doesn't work, AttributeError: 'Context' object has no attribute 'render_layer'
Use the view_layer
Set ViewLayer.active to any object in view layer or None
context.view_layer.objects.active = ob

Note selecting has also changed from ob.select = True to
ob.select_set(True)

which together will emulate the general case  UI state of having the context object  both active and selected.