Scene description language
The bpy module and the API provided by Blender is pretty close to a scene description language.

Switch to Console Editor.

Now you can interactively make modifications to the scene. 

The bpy module is already imported into the console.

&gt;&gt;&gt; list(bpy.context.scene.objects)

[bpy.data.objects['Point.002'], bpy.data.objects['Point.001'], bpy.data.objects['Point'], bpy.data.objects['Cylinder.006'], bpy.data.objects['Cylinder.005'], bpy.data.objects['Cylinder.004'], bpy.data.objects['Cylinder.003'], bpy.data.objects['Cylinder.002'], bpy.data.objects['Cylinder.001'], bpy.data.objects['Cylinder'], bpy.data.objects['Suzanne'], bpy.data.objects['Plane']]

&gt;&gt;&gt; bpy.context.scene.objects['Suzanne'].location.x = 1
&gt;&gt;&gt; bpy.context.scene.objects['Suzanne'].location.x = 0


C is an alias for bpy.context, so you can also do

&gt;&gt;&gt; C.object.location.x = 0


You can keyframe object properties (In the example below we are adding a keyframe on x location attribute)

The data related to the scene can be accessed from the context directly.

&gt;&gt;&gt; C.scene.frame_current = 1

&gt;&gt;&gt; C.object.keyframe_insert('location', index=0)

&gt;&gt;&gt; C.scene.frame_current = 25
&gt;&gt;&gt; C.object.location.x = 5
&gt;&gt;&gt; C.object.keyframe_insert('location', index=0)


Links to some important blender python API modules


https://docs.blender.org/api/current/info_quickstart.html
https://docs.blender.org/api/current/bpy.context.html