Python is a dynamic language, and ROS integration with python should fit the language habitual usage and be dynamic.
Based on that main thought, catkin should be made completely redundant in python.
I have been working last year on two projects as proof of concept for this idea :
https://github.com/pyros-dev/pyros-setup so that the whole workspace setup is useless for python. You just work on your project in its virtualenv, and ros libraries on the system are detected and added to your sys.path at run time.
https://github.com/pyros-dev/rosimport so that ROS message code is generated on import time (in /tmp if you re looking for it)
With these, the whole artificial
catkin build, and
source devel/setup.bash, is now totally unneeded for python ROS code. A python dev dev can follow the usual python development flow : create a virtual environment and just run a REPL or some python code. I personally believe that, done well, this has the potential to greatly simplify and speed up python ROS development (usually the main point of using python)
These projects are tested and working, however they are in need of feedback, documentation and general love and care.
So if you are interested in this kind of experiment, give these a try, and let me know what you think !