How to keyframe smoke particle size via python script
Script for blender 2.79 with a few options.

import bpy

keyframes = [1,10,20,30]
object = bpy.context.active_object

frame = 50
value = 3.14159265

grouped = [(70,10), (80, 9), (90, 5), (100, 1)]

def incremmental_add(obj, frmlst):
    for frame in frmlst:
        obj.modifiers["Smoke"].flow_settings.particle_size += 1.0
        obj.keyframe_insert(data_path='modifiers["Smoke"].flow_settings.particle_size', frame=frame)

def single_frame(obj, frm, val):
    scn = bpy.context.scene
    scn.frame_set(frm)
    obj.modifiers["Smoke"].flow_settings.particle_size = val
    obj.keyframe_insert(data_path='modifiers["Smoke"].flow_settings.particle_size', frame=frm)

def tuple_list(obj, frame_n_val):
    for i in frame_n_val:
        single_frame(obj, i[0], i[1])

incremmental_add(object, keyframes)

single_frame(object, frame, value)

tuple_list(object, grouped)