This chapter has taken us beyond standard Windows development and into an area that is one of Python’s greatest strengths: extensibility. We have taken an application that had a useful object model but a limited feature set and opened it to users. They have full access to the object model and can interact with the data. In the course of this, we’ve learned more about Python internals.
In addition, we have refined the object model using delegation to make it easy for users to customize. With a little training and documentation, they can build far-reaching extensions precisely tailored to the nature of their business.
This type of development would be prohibitively expensive and difficult without a dynamic environment such as Python. Python lets you create extensible applications with ease.