I have a flask application that I would like to operate different when in production, unit testing, functional testing, and performance testing. Flasks one debug operation doesn't cover what I want to do, I was wondering if there is any way to pass parameters to flasks __init__.py. 
I have several different scripts which build my app and create my data structures. 
I know I can do this using environment variables but I was hoping for a better solution.
The solution hybrid solution between my inital plan and Seans suggestion. I use multiple config files and set a environment variable before each kind of app instance. This means that you need to use
 from os import environ
environ["APP_SETTINGS"] = "config.py"
before every import app call. The best approach to this problem is to use flask-script as Sean suggests and to have a python manage.py request where request could range from 
run_unit_tests to run_server 
and that manage script sets the environment variable (as well as builds the database, sets up a profiler, or anything else you need).
Passing paramaters to flask __init__.py