I've just given a talk at PyCon UK, called Syntactic Sugar vs Maintainability, looking at balancing helping your users at the cost of your sanity.
The synopsis was:
Is it ever worth committing coding sins for the greater good? We'll look at techniques which can make your code easier to use at the cost of being harder to maintain, and when the effort is worth the reward.
There are plenty of ways in which you can use and abuse the power of python to make your library code easier for your users to work with. I'm going ...