I have been playing with the Ruby library \"shoes\". Basically you can write a GUI application in the following way:
Shoes.app do
t = para \"Not clicked!\"
b
Declarative is not necessarily more (or less) pythonic than functional IMHO. I think a layered approach would be the best (from buttom up):
Similar to Elixir + SQLAlchemy.