Upgrading to Blender 2.80
The first episodes of Scripting for Artists series was made for 2.79. Fortunately there is only a little you need to change to make the techniques work in Blender 2.80. For changes between 2.80 and current versions of Blender, check the Python API sections of the Release Notes
Chapters 1-5 and the Tech Videos were made for 2.79. The other chapters are using the most recent version of Blender available at the time of creation.
Selecting and Hiding
Selecting an object in Blender 2.79 is as easy as setting a property:
ob.select = True. Blender 2.80 has a more elaborate view layer system, and an object can be selected in one view layer and not selected in another, so there is no more single "selected" attribute of an object. Instead, you can use
ob.select_set(True) to select the object in the active view layer, or
ob.select_set(True, the_view_layer) if you want to select it in a specific one. To retrieve the selection state, use
is_selected = ob.select_get() for the selection state in the active view layer, or
is_selected = ob.select_get(the_view_layer) if you want to retrieve it for a specific view layer.
Hiding and un-hiding an object follows the same approach, replacing the ob.hide property with
Size of New Objects
The mesh object creation operators, like
primitive_ico_sphere_add(), used to take a
size parameter to indicate the size of the mesh. In Blender 2.80 this has been replaced by
radius. There is a factor 2 difference between
size (the latter could be called the diameter), so for example replace
In Tech 4: Rendering from 'all' angles we use
vcoord = placement_ob.matrix_world * vert.co to perform a matrix multiplication. In Blender 2.80 this should use the
@ operator, so it becomes
vcoord = placement_ob.matrix_world @ vert.co.
There is new Python API documentation for the upcoming 2.80 release that's now on a link that'll always be for the "upcoming version". It is not updated every day, but generally it's accurate. Of course there is also API documentation for the last release, which currently is 2.79b.
Most backward-incompatible changes in the Python API introduced in 2.80 are also documented in the 2.80 release notes.