App.yaml vs Settings.py

I'm really about to geek out on you -- I'm going to (complain) compare the Google App Engine configuration file (app.yaml) to the Django setting.py.

Simon Wilson of Django and django-openid fame wrote a post on logging in Django and got me thinking a long these lines.

App.yaml sucks. Why? Because it's not really "pythonic" and I can't write little bits of python code to make configuration any easier.

For example if wanted to stick and API key in settings.py and wanted a different one for development I could easily do something like

if DEBUG:
  MY_KEY = '123'
else:
  MY_KEY = 'ABC'

Unfortunately Google decided to go with a stricter separation of concerns -- at the cost of flexibility.

This is also partly what is wrong with Java. When is the last time you configured a serious Java applications without editing atleast one (if you are lucky) xml file (or more if you are not).