Pookkalam by Muhammad Basheer

Code

square = lambda size, fill, stroke_width : rectangle(w=size, h=size, fill=fill, stroke_width=stroke_width)
t = lambda color : ellipse(w=20, h=40, stroke=color) | translate(y=125) | repeat(100, rotate(151))
x = ['white', 'yellow', 'orange', 'red', '#660000', 'green']
l0 = combine([(t(x[i])| rotate(5*i)) for i in range(len(x)) ])
l1 = circle(r=125, stroke_width=2.5, fill='white')
l2 = rectangle(w=250, h=30 ,fill='green', stroke='none') | repeat(12, rotate(30))
l3 = circle(r=120, fill='yellow', stroke='none') 
l4 = rectangle(w=240, h=20 ,fill='#85C411', stroke='none') | rotate(15)  | repeat(12, rotate(30))
l5 = circle(r=115, fill='#660000', stroke='none') 
l6 = rectangle(w=200, h=20 ,fill='#85C411', stroke='none') | repeat(12, rotate(30))
l7 = circle(r=90, stroke='none', fill='white')
l8 = rectangle(w=180, h=20 ,fill='green', stroke='none') | rotate(15) | repeat(12, rotate(30))
generate_squares = lambda size, colors, inc=20: combine([rectangle(h=size-i*inc, w=size, stroke='none', fill=colors[i])+rectangle(h=size, w=size-i*inc, stroke='none', fill=colors[i]) for i in range(len(colors))]) 
l9 =  generate_squares((250/(2**(0.5))), ['white', 'yellow', 'orange', 'red', '#660000']) | repeat(6, rotate(60))
default_circle = circle(r=30, stroke='none', fill='#fff263') + circle(r=25, stroke='none', fill='#b664d6') + circle(r=20, stroke='none', fill='#a828d3') + circle(r=15, stroke='none', fill='#8800b2')
l10 = default_circle | translate(y=60) | repeat(8, rotate(45))
l13 = generate_squares(30, ['white', 'yellow', 'orange', 'red', '#660000'], inc=5) | translate(y=40) | repeat(120, rotate(31))
l11 = ellipse(w=30, h=40, fill='white', stroke='none') + ellipse(w=20, h=40, fill='yellow', stroke='none') + (ellipse(w=15, h=40, fill='green', stroke='none') | translate(y=-10))  | translate(y=30) | repeat(8, rotate(45))
l12 = circle(r=30, fill='#660000', stroke='none') + circle(r=25, fill='#d12727', stroke='none') + circle(r=20, fill='#ff7c30', stroke='none') + circle(r=15, fill='yellow', stroke='none') + circle(r=10, fill='white', stroke='none') + circle(r=10, fill='#8800b2', stroke='none') 
pookkalam = l0 + l1 + l2 + l3 + l4 + l5 + l6 + l7 + l8 + l9 + l10 + l13 + l11 + l12
show(pookkalam)